Subscribe

L'équipe Azure Cosmos DB est ravie d'annoncer la version 3.0 du kit de développement logiciel (SDK) .NET, désormais en préversion publique et open source sur GitHub !

Nous attendons vos commentaires avec impatience, alors essayez-le et dites-nous ce que vous en pensez. Vous pouvez obtenir la dernière version via NuGet et contribuer sur GitHub.

Install-Package Microsoft.Azure.Cosmos -Version 3.0.0.1-preview –prerelease

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 et une mise à l’échelle élastique du débit et du stockage.

Qu'est-ce que la nouvelle version 3.0 du kit de développement logiciel (SDK) .NET ?

La version 3.0 du SDK cible .NET Standard 2.0 et présente de nombreuses améliorations en termes d'utilisation et de performances, notamment un nouveau modèle d’objet plus intuitif et la prise en charge des flux. Ce kit de développement logiciel (SDK) vient s'ajouter aux SDK Java, JavaScript, et Python proposés en open source sur GitHub.

S'agissant d'une préversion du SDK version 3.0, nous vous recommandons de continuer d'utiliser la version 2.x du SDK .NET pour vos charges de travail de production. Pour l'instant, nous n'envisageons pas de déconseiller ou de mettre fin au support de la version 2.x du SDK .NET.

Cible .NET Standard 2.0

Nous avons unifié nos kits SDK .NET et .NET Core au sein d'un même kit SDK .NET, qui cible .NET Standard 2.0. Ainsi, vous pouvez utiliser le SDK .NET dans vos applications .NET Framework 4.6.1+ et .NET Core 2.0+.

Modèle de programmation intuitif

Au cours des mois passés, notre équipe s'est attachée à améliorer l'expérience développeur des SDK Azure Cosmos DB en fonction de vos commentaires.

Nouvelle surface d'API Fluent

Nous avons créé une classe CosmosClient de niveau supérieur pour remplacer DocumentClient, et avons divisé ses méthodes en classes CosmosDatabase, CosmosContainer et CosmosItems modulaires. Grâce au nouveau modèle de programmation, UriFactory et autres « bruits » ne sont plus nécessaires dans le code d'application.

Nos études sur la convivialité ont montré que la hiérarchie permet aux nouveaux développeurs d'appréhender plus facilement l'enchaînement des tâches qui leur incombent. Les types modulaires CosmosDatabase et CosmosContainer facilitent également l'injection de dépendances. Désormais, vous pouvez aisément transmettre le contexte d'une base de données ou d'un conteneur dans votre application, sans devoir transmettre les noms de client, base de données et conteneur.

Facilité de test

Suite aux nombreuses demandes de développeurs, les tests unitaires sont facilités grâce au nouveau modèle de programmation hiérarchique, tous les types pouvant être simulés. Nous avons également introduit une extensibilité d'intergiciel via CosmosConfiguration.AddCustomHandlers () pour vous permettre de vous connecter au pipeline de requête/réponse du SDK.

Modifications de dénomination

Nous avons procédé à quelques modifications de dénomination pour mieux aligner le SDK sur le modèle de ressource Azure Cosmos DB. Azure Cosmos DB prenant en charge plusieurs modèles de données, nous avons renommé Collection et Document en Conteneur et Élément dans tous les SDK.

Améliorations des performances

Les versions précédentes des SDK sérialisaient et désérialisaient systématiquement les données vers et depuis le réseau. Cela n'est pas toujours nécessaire et affecte les performances. Désormais, lorsque vous lisez un élément ou une requête dans le contexte d'une API Web ASP.NET, vous pouvez tout simplement obtenir le flux et le transmettre à la réponse, sans impact sur les performances, à l'aide des nouvelles méthodes ReadItemAsStreamAsync et CreateItemQueryAsStream.

Suppression de la dépendance à la dynamique

Avec le nouveau SDK, vous pouvez toujours utiliser la dynamique, mais nous n'injectons plus notre propre type dynamique. Nous avons également supprimé les doubles occurrences de désérialisation que présentait le SDK 2.x.x.

Gestion rationalisée des exceptions

Marshaler les exceptions lors des appels en attente asynchrones peut s'avérer coûteuse. Conformément aux attentes des développeurs, le nouveau SDK continue de générer des exceptions pour le modèle de programmation typé. Cependant, pour le modèle de programmation Stream, nous mettons à votre disposition une CosmosResponseMessage.StatusCode destinée aux réponses renvoyées par le serveur. Le SDK relève uniquement les erreurs n'ayant fait l'objet d'aucune réponse, ce qui offre aux applications sensibles aux performances un contrôle plus précis en termes d'utilisation des exceptions.

Open source

Le SDK Azure Cosmos DB .NET est désormais proposé en open source ! Nous journaliserons les problèmes, suivrons les commentaires et accepterons les PR dans GitHub.

FAQ relatif aux fonctionnalités d'évaluation

Certaines fonctionnalités de cette préversion ne sont pas encore prises en charge. Notamment :

  • LINQ
  • Fonctions et déclencheurs définis par l’utilisateur
  • Utilisateurs et autorisations
  • Flux de modification

Ces fonctionnalités seront présentées dans une version à venir.

Prise en main

Pour prendre en main le nouveau SDK, ajoutez notre nouveau package NuGet à votre projet. Suivez nos nouveaux didacticiels pour .NET et .NET Core. Nous apprécierions beaucoup que vous nous fassiez part de vos commentaires ! Adressez un e-mail à askcosmosdb@microsoft.com ou consignez les problèmes rencontrés dans notre référentiel GitHub.

Tenez-vous informé des dernières actualités et fonctionnalités Azure #CosmosDB en nous suivant sur Twitter @AzureCosmosDB. Nous sommes vraiment impatients de voir ce que vous allez créer avec Azure Cosmos DB.

  • Explore

     

    Let us know what you think of Azure and what you would like to see in the future.

     

    Provide feedback

  • Build your cloud computing and Azure skills with free courses by Microsoft Learn.

     

    Explore Azure learning


Join the conversation

Leave a Reply

Your email address will not be published. Required fields are marked *