S’APPLIQUE À : NoSQL
Général
Comment faire pour se lancer dans le développement avec Azure Cosmos DB for NoSQL ?
Vous devez d’abord souscrire un abonnement Microsoft Azure. Après avoir souscrit un abonnement Azure, vous pouvez ajouter un conteneur API pour NoSQL à votre abonnement Azure.
Des kits de développement logiciel (SDK) sont disponibles pour .NET, Python, Node.js, JavaScript, Go et Java. Les développeurs peuvent également utiliser l’API REST pour interagir avec des ressources Azure Cosmos DB à partir d’autres plateformes et langages.
Existe-t-il des exemples Azure Cosmos DB for NoSQL pour démarrer ?
Consultez ces exemples de code et de modèles de démarrage rapide pour l’API pour NoSQL :
Azure Cosmos DB for NoSQL prend-il en charge les données sans schéma ?
Oui, l’API pour NoSQL permet aux applications de stocker des documents JSON arbitraires sous forme d’éléments sans définitions de schéma ni conseils. Les données peuvent être interrogées immédiatement avec le langage de requête Azure Cosmos DB for NoSQL.
Azure Cosmos DB for NoSQL prend-il en charge les transactions ACID (atomicité, cohérence, isolation, durabilité) ?
Oui, l’API pour NoSQL prend en charge les transactions entre documents exprimées à l’aide de lots dans les SDK ou sous forme de déclencheurs et de procédures stockées JavaScript. Les transactions sont étendues à une seule partition au sein de chaque conteneur, et exécutées en mode « Tout ou rien » avec des sémantiques ACID, isolément d’autres codes et requêtes utilisateur s’exécutant simultanément. En cas d’exception, la totalité de la transaction est annulée.
Comment faire pour créer une base de données Azure Cosmos DB for NoSQL ?
Vous pouvez créer des bases de données avec l’un de ces outils :
- Azure portal
- Kits SDK (plan de données) clients de l’API pour NoSQL
- Kits SDK (plan de contrôle) de gestion de l’API pour NoSQL
- Azure Resource Manager
- REST API
Puis-je m’authentifier auprès d’Azure Cosmos DB for NoSQL en utilisant mes comptes Microsoft Entra ID existants ?
Oui ! Azure Cosmos DB prend en charge l’authentification Microsoft Entra pour gérer le service et ses ressources (plan de contrôle) et pour exécuter des données, des opérations et des requêtes (plan de données). L’authentification du plan de contrôle s’effectue à l’aide de la fonctionnalité de contrôle d’accès en fonction du rôle d’Azure. Vous pouvez utiliser un rôle intégré préconfiguré](.. /.. /role-based-access-control/built-in-roles.md) ou créer un rôle personnalisé. Avec le contrôle d’accès en fonction du rôle Azure, vous pouvez gérer des comptes, des bases de données, des conteneurs et des métadonnées. Le plan de contrôle comprend des opérations, notamment les exemples suivants (sans s’y limiter).
- Création, remplacement ou suppression de bases de données – Création, remplacement ou suppression de conteneurs – Lecture ou remplacement de débit de base de données – Lecture ou remplacement de débit de conteneur. L’authentification de plan de données utilise une API personnalisée pour l’implémentation du contrôle d’accès en fonction du rôle natif NoSQL. Avec cette implémentation native, vous pouvez également utiliser des rôles préconfigurés ou personnalisés. Avec le contrôle d’accès en fonction du rôle natif, vous pouvez exécuter des requêtes, gérer les éléments ou effectuer d’autres opérations courantes. Le plan de données comprend des opérations, notamment les exemples suivants (sans s’y limiter).
- Création, remplacement, mise à jour ou suppression d’éléments – Mise à jour corrective d’éléments – Exécution de requêtes
Azure Cosmos DB for NoSQL prend-il en charge le langage de requête SQL ?
Le langage SQL (Structured Query Language) est généralement utilisé pour interroger des données relationnelles. L’API pour NoSQL propose un langage de requête NoSQL personnalisé dérivé de SQL. Le langage de requête NoSQL comprend un sous-ensemble du langage de requête SQL généralement associé à SQL Server ainsi que diverses améliorations propres à NoSQL. Le langage de requête NoSQL propose des opérateurs relationnels et hiérarchiques élaborés et une extensibilité via des fonctions JavaScript définies par l’utilisateur. La grammaire JSON permet de modéliser des documents JSON en tant qu’arborescences comprenant des nœuds étiquetés qui sont utilisés par les techniques d’indexation automatique et le langage de requête SQL d’Azure Cosmos DB. Pour savoir comment utiliser ce langage de requête, consultez Requête NoSQL.
Azure Cosmos DB for NoSQL prend-il en charge les fonctions d’agrégation SQL ?
L’API pour NoSQL prend en charge l’agrégation via des fonctions d’agrégation telles que COUNT
, MAX
, AVG
et SUM
via le langage de requête NoSQL.
Comment Azure Cosmos DB for NoSQL assure-t-il l’accès concurrentiel ?
L’API pour NoSQL prend en charge le contrôle d’accès concurrentiel optimiste par l’intermédiaire de balises d’entité HTTP, ou ETags. Chaque ressource de l’API NoSQL est dotée d’une ETag qui est définie sur le serveur à chaque mise à jour d’un document. L’en-tête et la valeur actuelle ETag sont inclus dans tous les messages de réponse. Les ETags peuvent être utilisées avec l’en-tête If-Match
pour permettre au serveur de déterminer si une ressource doit être mise à jour. La valeur If-Match est la valeur ETag utilisée pour la vérification. Si la valeur ETag correspond à la valeur ETag du serveur, la ressource est mise à jour. Si l’ETag n’est plus actuelle, le serveur rejette l’opération en retournant un code de réponse « HTTP 412 Échec de la condition préalable ». Dans ce cas, le client extrait à nouveau la ressource afin d’obtenir la valeur ETag actuelle pour la ressource. De plus, les ETags peuvent être utilisées avec l’en-tête If-None-Match
pour déterminer si une ressource doit de nouveau être récupérée.
La plupart des kits SDK de l’API pour NoSQL comportent des classes destinées à gérer le contrôle d’accès concurrentiel optimiste.
Comment insérer des documents en bloc dans Azure Cosmos DB for NoSQL ?
Utilisez la fonctionnalité d’importation en bloc qui se trouve dans le SDK .NET ou le SDK Java pour l’API pour NoSQL pour importer des jeux de données volumineux. Cette fonctionnalité optimise le débit approvisionné pour importer les jeux de données volumineux.
Vous pouvez également utiliser Apache Spark pour importer des données à grande échelle à l’aide de Python ou Scala.
Azure Cosmos DB for NoSQL prend-il en charge la mise en cache des liens de ressources ?
Oui. Azure Cosmos DB for NoSQL étant un service RESTful, les liens de ressources sont immuables et peuvent être mis en cache. Les clients de l’API pour NoSQL peuvent spécifier un en-tête « If-None-Match » pour des lectures effectuées en comparaison avec des documents ou conteneurs de type ressource, puis mettre à jour leurs copies locales après modification de la version du serveur.
Existe-t-il une instance locale d’Azure Cosmos DB for NoSQL ?
Oui. L’émulateur Azure Cosmos DB fournit une émulation haute fidélité du service Azure Cosmos DB. Il prend en charge des fonctionnalités identiques à Azure Cosmos DB dans différentes API. Parmi ces fonctionnalités figurent la prise en charge de la création et de l’interrogation d’éléments et celle de l’approvisionnement et de la mise à l’échelle de conteneurs. Vous pouvez développer et tester des applications en utilisant les points de terminaison de l’émulateur. Vous pouvez ensuite déployer les applications sur Azure à une échelle mondiale en modifiant la chaîne de connexion de l’émulateur pour choisir le service en direct.
Pourquoi les valeurs à virgule flottante longues contenues dans un élément Azure Cosmos DB for NoSQL sont-elles arrondies lors de l’utilisation de l’Explorateur de données dans le portail ?
Cette limitation de l’Explorateur de données est une limitation de JavaScript. JavaScript utilise des nombres à virgule flottante double précision comme spécifié dans la norme 754 de l’IEEE (Electrical and Electronics Engineers). Ce type de données peut contenir sans risque des nombres compris entre -(253 - 1) et 253-1 (autrement dit, 9007199254740991) uniquement.
Sécurité
Qu’est-ce que le contrôle d’accès en fonction du rôle (RBAC) ?
Le contrôle d’accès en fonction du rôle (RBAC) est une méthode de régulation de l’accès aux ressources informatiques ou réseau en fonction des rôles des utilisateurs individuels au sein d’une entreprise. Dans Azure Cosmos DB, le RBAC est utilisé pour accorder l’accès au plan de données aux utilisateurs et aux applications. Pour découvrir plus d’informations sur les différents termes dans le contrôle d’accès en fonction du rôle, consultez glossaire de sécurité.
Comment puis-je activer le contrôle d’accès en fonction du rôle du plan de données pour Azure Cosmos DB for NoSQL ?
Utilisez la fonctionnalité de contrôle d’accès en fonction du rôle natif (RBAC) Azure Cosmos DB pour accorder l’accès au plan de données aux utilisateurs et aux applications. Pour découvrir plus d’informations, consultez Octroi d’accès en fonction du rôle du plan de données.
Quelles API Azure Cosmos DB prennent en charge le contrôle d'accès basé sur les rôles au niveau des données ?
À partir de maintenant, seule l’API NoSQL est prise en charge.
Est-il possible de gérer les définitions de rôle et les attributions de rôles à partir du portail Azure ?
La prise en charge de la gestion du rôle par le portail Azure n’est pas encore disponible.
Quels kits de développement logiciel (SDK) de l’API NoSQL Azure Cosmos DB prennent en charge le contrôle d’accès en fonction du rôle ?
Les SDK .NET V3, Java V4, JavaScript V3 et Python V4.3+ sont actuellement pris en charge.
Le jeton Microsoft Entra est-il actualisé automatiquement par les SDK Azure Cosmos DB quand il expire ?
Oui.
Est-il possible de désactiver l’utilisation des clés primaires/secondaires du compte lors de l’utilisation du contrôle d’accès en fonction du rôle ?
Oui. Pour découvrir plus d’informations, consultez Désactiver l’authentification basée sur des clés.
Contenu connexe
Bien démarrer avec Azure Cosmos DB for NoSQL en utilisant le portail Azure
Bien démarrer avec Azure Cosmos DB for NoSQL en utilisant Bicep
Bien démarrer avec Azure Cosmos DB for NoSQL en utilisant des modèles Azure Resource Manager (ARM)
Bien démarrer avec Azure Cosmos DB for NoSQL en utilisant Terraform