Passer la navigation

Nouveau SDK JavaScript 2.0 Azure #CosmosDB en préversion publique

Publié le 8 août, 2018

Program Manager, Azure Cosmos DB

L’équipe Azure Cosmos DB est ravie d’annoncer la version 2.0 RC du SDK JavaSCript pour l’API SQL, à présent disponible en préversion publique.

Nous sommes impatients de recevoir vos commentaires sur cette version RC avant la disponibilité générale. Essayez-la et donnez-nous votre avis. Vous pouvez vous procurer la dernière version via npm avec la commande suivante :

npm install azure cosmos

Qu’est-ce qu’Azure Cosmos DB ?

Azure Cosmos DB est un service de base de données multimodèle globalement distribué. 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.

Pour l’API SQL, nous prenons en charge un SDK JavaScript afin de permettre le développement sur Azure Cosmos DB à partir de projets JavaScript et Node.js. La version 2.0 du SDK est entièrement écrite en TypeScript. Nous avons repensé le modèle d’objet et ajouté la prise en charge des promesses. Voyons en détail ces mises à jour.

Nouveau modèle objet

Sur la base des commentaires reçus des utilisateurs, nous avons repensé le modèle objet afin de faciliter les interactions avec Cosmos DB ainsi que l’exécution d’opérations sur celui-ci. 

Si vous connaissez la version précédente du SDK JavaScript, vous avez probablement remarqué que toute la surface de l’API se bloque sur DocumentDBClient. Alors que la conception précédente facilitait la recherche du point d’entrée pour les méthodes, elle s’est également faite aux dépens d’une expérience encombrée d’IntelliSense, comme on le voit ci-dessous.

DocumentDBClient

Nous avons également reçu des commentaires selon lesquels il était difficile d’effectuer des opérations sur des bases de données, des collections ou des documents, chaque méthode devant faire référence à l’URL de cette ressource. 

Nous avons créé une classe CosmosClient de niveau supérieur pour remplacer DocumentDBClient, et avons divisé ses méthodes en classes Database, Container et Items modulaires.

Par exemple, le nouveau SDK vous permet de créer une base de données et un conteneur, ainsi que d’y ajouter un élément, et cela en maximum 10 lignes de code.

Créer une base de données

Il s’agit d’un modèle de « constructeur ». Il nous permet de référencer des ressources en fonction de la hiérarchie des ressources de Cosmos DB, qui est similaire à ce que pense votre cerveau de Cosmos DB. Par exemple, pour créer un élément, nous commençons par faire référence à sa base de données et à son conteneur, puis appelons items.create().

Conteneurs et éléments

De plus, Cosmos DB prenant en charge plusieurs modèles d’API, nous avons introduit les concepts de conteneur et d’élément dans le SDK afin de remplacer les concepts antérieurs de collection et de document. Ce qu’on appelait auparavant « collection » s’appelle à présent « conteneur ».

Un compte peut avoir une ou plusieurs bases de données, et une base de données est composée d’un ou de plusieurs conteneurs. En fonction de l’API, le conteneur est projeté sous forme de collection (SQL ou API Azure Cosmos DB pour MongoDB), de graphique (API Gremlin) ou de table (API Tables).

Conteneur et éléments

Prise en charge des promesses

Enfin, nous avons ajouté la prise en charge complète des promesses afin que vous n’ayez plus à écrire du code personnalisé pour inclure le SDK dans un wrapper. Maintenant, vous pouvez utiliser async/await directement sur le SDK.

Pour voir la différence, pour créer une base de données, une collection et ajouter un document dans le SDK précédent, vous deviez procéder de la manière suivante :

SDK

Dans le nouveau SDK, vous pouvez simplement attendre les appels à Azure Cosmos DB directement à partir d’une fonction async, comme indiqué ci-dessous.

Nous avons également ajouté la méthode de commodité createIfNotExists () pour les bases de données et les conteneurs, qui inclut dans un wrapper la logique pour lire la base de données, vérifier le code d’état, et créer celui-ci s’il n’existe pas.

Voici la même fonctionnalité, en utilisant le nouveau SDK :

promisesNewImageUseThisOne

Modèle open source

Le Kit de développement logiciel (SDK) JavaScript Azure Cosmos DB est open source, et notre équipe prévoit de faire tout le développement en open source. À cette fin, nous journaliserons les problèmes, suivrons les commentaires et accepterons les PR dans GitHub.

Prise en main

Nous espérons que ce nouveau SDK améliorera l’expérience des développeurs. Pour commencer, consultez notre guide de démarrage rapide. Nous apprécierions beaucoup que vous nous fassiez part de vos commentaires ! Adressez un e-mail à cosmosdbsdkfeedback@microsoft.com ou consignez les problèmes rencontrés dans notre dépôt GitHub.

npm install azure cosmos

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.