Bewerken

Delen via


Veelgestelde vragen over Azure Cosmos DB for NoSQL

VAN TOEPASSING OP: NoSQL

Hoe kan ik beginnen met ontwikkelen met Azure Cosmos DB for NoSQL?

U moet zich eerst registreren voor een Azure-abonnement. Nadat u zich hebt geregistreerd voor een Azure-abonnement, kunt u een API voor NoSQL-container toevoegen aan uw Azure-abonnement.

Sdk's (Software Development Kits) zijn beschikbaar voor .NET, Python, Node.js, JavaScript, Go en Java. Ontwikkelaars kunnen ook de REST API gebruiken om te communiceren met Azure Cosmos DB-resources vanuit meer platforms en talen.

Zijn er Azure Cosmos DB for NoSQL-voorbeelden om aan de slag te gaan?

Bekijk deze quickstart-codevoorbeelden en -sjablonen voor de API voor NoSQL:

Biedt Azure Cosmos DB for NoSQL ondersteuning voor schemavrije gegevens?

Ja, met de API voor NoSQL kunnen toepassingen willekeurige JSON-documenten opslaan als items zonder schemadefinities of hints. De gegevens zijn onmiddellijk beschikbaar voor query's met de Azure Cosmos DB for NoSQL-querytaal.

Biedt Azure Cosmos DB for NoSQL ondersteuning voor ACID-transacties (atomiciteit, consistentie, isolatie, duurzaamheid)?

Ja, de API voor NoSQL biedt ondersteuning voor transacties tussen documenten, uitgedrukt in batches in de SDK's of als opgeslagen JavaScript-procedures en triggers. Transacties zijn gericht op één partitie binnen elke container en uitgevoerd met ACID-semantiek als 'alles of niets', geïsoleerd van andere gelijktijdige uitvoering van code- en gebruikersaanvragen. Als er uitzonderingen optreden, wordt de hele transactie teruggedraaid.

Hoe kan ik een Azure Cosmos DB for NoSQL-database maken?

U kunt databases maken met behulp van een van deze hulpprogramma's:

Hoe kan ik azure Cosmos DB for NoSQL-databaseeigen gebruikers en machtigingen configureren?

U kunt gebruikers en machtigingen maken met behulp van een van de Azure Cosmos DB for NoSQL SDK's of de REST API. Zie Gebruikers en resourcetokens configureren voor meer informatie. Het maken van machtigingen met behulp van resourcetokens is toegestaan op containerniveau en de onderliggende onderliggende items (zoals documenten, bijlagen). Het maken van een machtiging op database- of accountniveau is momenteel niet toegestaan.

Kan ik verifiëren bij Azure Cosmos DB for NoSQL met mijn bestaande Microsoft Entra ID-accounts?

Ja. Azure Cosmos DB biedt ondersteuning voor Microsoft Entra-verificatie voor het beheren van de service en de bijbehorende resources (besturingsvlak) en voor het uitvoeren van gegevens, bewerkingen en query's (gegevensvlak). Verificatie op het besturingsvlak wordt uitgevoerd met behulp van de functie voor op rollen gebaseerd toegangsbeheer van Azure. U kunt een vooraf geconfigureerde ingebouwde rol](.) gebruiken. /.. /op rollen gebaseerd toegangsbeheer/ingebouwde-roles.md) of u kunt een aangepaste rol maken. Met op rollen gebaseerd toegangsbeheer van Azure kunt u accounts, databases, containers en metagegevens beheren. Het besturingsvlak bevat bewerkingen, waaronder, maar niet beperkt tot deze voorbeelden.

  • Databases maken, vervangen of verwijderen: containers maken, vervangen of verwijderen - Doorvoer van databases lezen of vervangen- Lees- of vervanging van containerdoorvoer Zie Azure Cosmos DB-besturingsvlak op rollen gebaseerd toegangsbeheer voor meer informatie. Verificatie op gegevensvlak maakt gebruik van een aangepaste API voor implementatie van noSQL-systeemeigen toegangsbeheer op basis van rollen. Met deze systeemeigen implementatie kunt u ook vooraf geconfigureerde of aangepaste rollen gebruiken. Met systeemeigen op rollen gebaseerd toegangsbeheer kunt u query's uitvoeren, items beheren of andere algemene bewerkingen uitvoeren. Het gegevensvlak bevat bewerkingen, waaronder, maar niet beperkt tot deze voorbeelden.
  • Items maken, vervangen, bijwerken of verwijderen- Patchitems - Query's uitvoeren Voor meer informatie raadpleegt u op rollen gebaseerd toegangsbeheer van Azure Cosmos DB.

Biedt Azure Cosmos DB for NoSQL ondersteuning voor de SQL-querytaal?

Structured Query Language (SQL) is een taal die doorgaans wordt gebruikt om relationele gegevens op te vragen. De API voor NoSQL heeft een aangepaste NoSQL-querytaal die is afgeleid van SQL. De NoSQL-querytaal bevat een subset van de SQL-querytaal die doorgaans is gekoppeld aan SQL Server, samen met verschillende NoSQL-specifieke verbeteringen. De NoSQL-querytaal biedt uitgebreide hiërarchische en relationele operators en uitbreidbaarheid via op JavaScript gebaseerde, door de gebruiker gedefinieerde functies (UDF's). Met JSON-grammatica kunt u JSON-documenten modelleren als bomen met gelabelde knooppunten, die worden gebruikt door zowel de automatische indexeringstechnieken van Azure Cosmos DB als het SQL-querydialect van Azure Cosmos DB. Zie NoSQL-query voor meer informatie over het gebruik van deze querytaal.

Biedt Azure Cosmos DB for NoSQL ondersteuning voor SQL-aggregatiefuncties?

De API voor NoSQL ondersteunt aggregatie via statistische functies zoals: COUNT, MAX, AVGen SUM via de NoSQL-querytaal.

Hoe biedt Azure Cosmos DB for NoSQL gelijktijdigheid?

De API voor NoSQL ondersteunt optimistisch gelijktijdigheidsbeheer (OCC) via HTTP-entiteitstags of ETags. Elke API voor NoSQL-resource heeft een ETag en de ETag wordt op de server ingesteld telkens wanneer een document wordt bijgewerkt. De ETag-header en de huidige waarde zijn opgenomen in alle antwoordberichten. ETags kunnen worden gebruikt met de If-Match header zodat de server kan bepalen of een resource moet worden bijgewerkt. De waarde If-Match is de ETag-waarde die moet worden gecontroleerd. Als de ETag-waarde overeenkomt met de server-ETag-waarde, wordt de resource bijgewerkt. Als de ETag niet meer actueel is, weigert de server de bewerking met de antwoordcode HTTP 412-voorwaardefout. De client haalt de resource vervolgens opnieuw op om de huidige ETag-waarde voor de resource te verkrijgen. Bovendien kunnen ETags worden gebruikt met de If-None-Match header om te bepalen of het nodig is om een resource te verkluizen.

De meeste API voor NoSQL SDK's bevatten klassen voor het beheren van optimistisch gelijktijdigheidsbeheer.

Hoe kan ik documenten bulksgewijs invoegen in Azure Cosmos DB for NoSQL?

Gebruik de functie voor bulkimport in de .NET SDK of de Java SDK voor de API voor NoSQL om grote gegevenssets te importeren. Met deze functie wordt de ingerichte doorvoer geoptimaliseerd voor het importeren van grote gegevenssets.

U kunt ook Apache Spark gebruiken om gegevens op schaal te importeren met behulp van Python of Scala.

Biedt Azure Cosmos DB for NoSQL ondersteuning voor het opslaan van resourcekoppelingen?

Ja, omdat Azure Cosmos DB for NoSQL een RESTful-service is, kunnen resourcekoppelingen onveranderbaar zijn en in de cache worden opgeslagen. API voor NoSQL-clients kan een 'If-None-Match'-header opgeven voor leesbewerkingen op basis van elk resource-achtig document of elke container en vervolgens de lokale kopieën bijwerken nadat de serverversie is gewijzigd.

Is een lokaal exemplaar van Azure Cosmos DB for NoSQL beschikbaar?

Ja. De Azure Cosmos DB-emulator biedt een hoogwaardige emulatie van de Azure Cosmos DB-service. Het biedt ondersteuning voor functionaliteit die identiek is aan Azure Cosmos DB in verschillende API's. Deze functionaliteit omvat ondersteuning voor het maken van items, het opvragen van items, het inrichten van containers en het schalen van containers. U kunt toepassingen ontwikkelen en testen met behulp van de eindpunten van de emulator. Vervolgens kunt u de toepassingen op wereldwijde schaal implementeren in Azure door de verbindingsreeks van de emulator te wijzigen in de liveservice.

Waarom worden lange drijvendekommawaarden in een Azure Cosmos DB for NoSQL-item afgerond wanneer u Data Explorer in de portal gebruikt?

Deze Data Explorer-beperking is een beperking van JavaScript. JavaScript maakt gebruik van getallen met dubbele precisie in drijvende komma-indeling, zoals opgegeven in Institute of Electrical and Electronics Engineers (IEEE) 754. Dit gegevenstype kan veilig getallen bevatten tussen -(253 - 1) en 253-1 (dat wil zeggen, 9007199254740991).