Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’API de données pour Azure DocumentDB est une interface https qui permet aux développeurs d’accéder à leurs données et d’interagir avec leurs données sans avoir besoin d’un pilote de base de données. Il simplifie les opérations de données en activant les opérations de plan de contrôle et d’agrégation par le biais de requêtes HTTP. Cette API est idéale pour les applications web, offrant un accès sécurisé et évolutif aux bases de données.
Activation de l’API de données sur Azure DocumentDB
Vous pouvez activer ou désactiver cette fonctionnalité à l’aide du portail Azure, d’Azure CLI ou d’un modèle ARM.
Étapes d’activation de l’API de données sur le portail Azure
Accéder au portail Azure
- portal.azure.com
Accéder à votre cluster Azure DocumentDB
Ouvrez le panneau « Fonctionnalités »
Cliquez sur « API de données »
Cliquez sur « Activer »
Vérifier le résultat
- Votre panneau « Fonctionnalités » doit maintenant afficher « API de données » comme « Activé ».
Étapes d’activation de l’API de données sur le cluster via un modèle ARM
Obtenir la chaîne de connexion :
- Obtenez la chaîne de connexion de votre cluster à partir du portail Azure.
Récupérer le jeton d’authentification :
- Exécutez les commandes suivantes dans Windows PowerShell :
az login az account get-access-token --resource-type arm
- Exécutez les commandes suivantes dans Windows PowerShell :
Envoyer une requête PATCH :
- Utilisez la chaîne de connexion à partir du portail Azure et envoyez une requête PATCH avec :
- Jeton d’authentification : utilisez le jeton récupéré à partir de PowerShell.
-
Corps :
{ "properties": { "dataApi": { "mode": "Enabled" } } }
- Utilisez la chaîne de connexion à partir du portail Azure et envoyez une requête PATCH avec :
Vérifiez le résultat :
- Vérifiez que la charge utile de réponse inclut
"dataApi": {"mode": "Enabled"}. - Si vous rencontrez l’erreur « L’API de données n’est pas prise en charge sur ce cluster », notez que seuls les clusters nouvellement provisionnés prennent en charge l’API de données.
- Vérifiez que la charge utile de réponse inclut
Mettre à jour la configuration du cluster
Requête
Méthode:PATCH
Extrémité:https://eastus2euap.management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.DocumentDB/mongoClusters/<ClusterName>?api-version=2024-10-01-preview
Corps de la demande
{
"properties": {
"dataApi": {
"mode": "Enabled"
}
}
}
Obtenir la chaîne de connexion
Pour obtenir la chaîne de connexion de votre cluster, procédez comme suit :
- Accédez au cluster que vous avez créé.
- Accédez à Paramètres et sélectionnez Chaînes de connexion.
- Copiez le point de terminaison de l’API de données fourni.
Utilisation de l’API de données
Examinons les opérations prises en charge, comment utiliser l’API de données.
Aggregate
Utilisez cette commande pour effectuer une opération d’agrégation sur une collection.
curl {cluster-name}.data.mongocluster.cosmos.azure.com:443/data/v1/action/aggregate -H "Content-Type: application/ejson" -H "Accept:application/ejson" -d '{"database" : "testDB", "collection" : "testCollection", "pipeline" : [{"$limit" : 500}]}' --user "{username}:{password}"
{ "documents" : [ { "_id" : { "$oid" : "680957492551581200c73bf8" }, "name" : "Sample Document", "createdAt" : { "$date" : { "$numberLong" : "1745442633506" } }, "tags" : [ "test", "mongo", "sample" ] } ] }
Répertorier les bases de données
Répertorier toutes les bases de données dans le cluster spécifié.
curl {cluster-name}.data.global.mongocluster.cosmos.azure.com:443/data/v1/action/listDatabases -H "Content-Type: application/ejson" -H "Accept:application/ejson" -d '{}' --user "{username}:{password}"
{ "databases" : [ { "name" : "testDB", "sizeOnDisk" : { "$numberInt" : "0" }, "empty" : false }, { "name" : "test", "sizeOnDisk" : { "$numberInt" : "0" }, "empty" : false } ], "totalSize" : { "$numberInt" : "0" }, "ok" : { "$numberDouble" : "1.0" } }
Lister les collections
Répertorier toutes les collections au sein d’une base de données spécifique.
curl {cluster-name}.data.global.mongocluster.cosmos.azure.com:443/data/v1/action/listCollections -H "Content-Type: application/ejson" -H "Accept:application/ejson" -d '{"database": "newDB"}' --user "{username}:{password}"
{ "collections" : [ { "name" : "testCollection", "type" : "collection", "options" : { }, "info" : { "readOnly" : false, "uuid" : { "$binary" : { "base64" : "mNh96KepTm+NtLtALGxDiw==", "subType" : "04" } } }, "idIndex" : { "v" : { "$numberInt" : "2" }, "name" : "_id_", "key" : { "_id" : { "$numberInt" : "1" } } } } ] }
Obtenir le schéma
Récupérez les détails du schéma d’une base de données spécifique.
Voici la version mise en forme de votre fichier .md :
curl {cluster-name}.data.mongocluster.cosmos.azure.com:443/data/v1/action/getSchema -H "Content-Type: application/ejson" -H "Accept:application/ejson" -d '{"database" : "testDB", "collection" : "testCollection"}' --user "{username}:{password}"
{ "_id" : { "bsonType" : "objectId" }, "name" : { "bsonType" : "string" }, "createdAt" : { "bsonType" : "date" }, "tags" : { "bsonType" : "array" } }
Limitations
- L’API de données fonctionne sur un cluster nouvellement créé.
- L’API de données ne prend pas en charge l’accès à l’aide d’un jeton d’accès réutilisable.
- Prend uniquement en charge l’agrégation du plan de données et les actions limitées du plan de contrôle.