VAN TOEPASSING OP: NoSQL
Algemeen
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:
- Azure-portal
- API voor NoSQL-client -SDK's (gegevensvlak)
- API voor NoSQL-beheer (besturingsvlak) SDK's
- Azure Resource Manager
- REST API
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- Verificatie met gegevensvlak voor containerdoorvoer leest of vervangt, maakt gebruik van een aangepaste API voor op rollen gebaseerd toegangsbeheer op basis van NoSQL. 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 - Items patchen - Query's uitvoeren
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
, AVG
en 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).
Beveiliging
Wat is toegangsbeheer op basis van rollen (RBAC)?
Op rollen gebaseerd toegangsbeheer (RBAC) is een methode om de toegang tot computer- of netwerkresources te reguleren op basis van de rollen van individuele gebruikers binnen een onderneming. In Azure Cosmos DB wordt RBAC gebruikt om gegevensvlaktoegang te verlenen aan gebruikers en toepassingen. Zie de woordenlijst voor beveiliging voor meer informatie over verschillende termen in op rollen gebaseerd toegangsbeheer.
Hoe kan ik op rollen gebaseerd toegangsbeheer voor gegevensvlak inschakelen voor Azure Cosmos DB for NoSQL?
Gebruik de RBAC-functie (systeemeigen op rollen gebaseerd toegangsbeheer) van Azure Cosmos DB om gebruikers en toepassingen toegang te verlenen tot gegevensvlak. Zie Toegang op basis van rollen op gegevensvlak verlenen voor meer informatie.
Welke Azure Cosmos DB-API's ondersteunen op rollen gebaseerd toegangsbeheer op basis van gegevensvlak?
Vanaf nu wordt alleen de NoSQL-API ondersteund.
Is het mogelijk om roldefinities en roltoewijzingen te beheren vanuit de Azure Portal?
Azure Portal-ondersteuning voor rolbeheer is nog niet beschikbaar.
Welke SDK's in de Azure Cosmos DB-API voor NoSQL ondersteunen op rollen gebaseerd toegangsbeheer?
De .NET V3-, Java V4-, JavaScript V3- en Python V4.3+ SDK's worden momenteel ondersteund.
Wordt het Microsoft Entra-token automatisch vernieuwd door de Azure Cosmos DB-SDK's wanneer het verloopt?
Ja.
Is het mogelijk om het gebruik van de primaire/secundaire accountsleutels uit te schakelen wanneer u op rollen gebaseerd toegangsbeheer gebruikt?
Ja. Zie Verificatie op basis van sleutels uitschakelen voor meer informatie.