DOTYCZY: NoSQL
Ogólne
Jak mogę zacząć programować w usłudze Azure Cosmos DB for NoSQL?
Najpierw musisz zarejestrować się w celu uzyskania subskrypcji platformy Azure. Po zarejestrowaniu się w celu uzyskania subskrypcji platformy Azure możesz dodać kontener API for NoSQL do subskrypcji platformy Azure.
Zestawy SDK (Software Development Kit) są dostępne dla platform .NET, Python, Node.js, JavaScript, Go i Java. Deweloperzy mogą również korzystać z interfejsu API REST do interakcji z zasobami usługi Azure Cosmos DB z większej liczby platform i języków.
Czy do rozpoczęcia pracy można rozpocząć korzystanie z przykładów usługi Azure Cosmos DB for NoSQL?
Zapoznaj się z przykładami i szablonami kodu szybkiego startu dla interfejsu API dla noSQL:
Czy usługa Azure Cosmos DB for NoSQL obsługuje dane bez schematu?
Tak, interfejs API for NoSQL umożliwia aplikacjom przechowywanie dowolnych dokumentów JSON jako elementów bez definicji schematu lub wskazówek. Dane są natychmiast dostępne do wykonywania zapytań za pomocą języka zapytań usługi Azure Cosmos DB for NoSQL.
Czy usługa Azure Cosmos DB for NoSQL obsługuje transakcje ACID (niepodzielność, spójność, izolacja, trwałość)?
Tak, interfejs API dla noSQL obsługuje transakcje między dokumentami wyrażone przy użyciu partii w zestawach SDK lub jako procedury składowane i wyzwalacze języka JavaScript. Transakcje są ograniczone do jednej partycji w każdym kontenerze i wykonywane za pomocą semantyki ACID jako "wszystkie lub nic", odizolowane od innych współbieżnie wykonujących kod i żądania użytkownika. Jeśli wystąpią wyjątki, cała transakcja zostanie wycofana.
Jak mogę utworzyć bazę danych Azure Cosmos DB for NoSQL?
Bazy danych można tworzyć przy użyciu jednego z następujących narzędzi:
- Witryna Azure Portal
- Zestawy SDK klienta NoSQL (płaszczyzna danych) interfejsu API
- Zestawy SDK interfejsu API do zarządzania noSQL (płaszczyzną sterowania)
- Azure Resource Manager
- Interfejs API REST
Czy mogę uwierzytelnić się w usłudze Azure Cosmos DB for NoSQL przy użyciu istniejących kont microsoft Entra ID?
Tak! Usługa Azure Cosmos DB obsługuje uwierzytelnianie firmy Microsoft Entra w celu zarządzania usługą i jej zasobami (płaszczyzną sterowania) oraz wykonywania danych, operacji i zapytań (płaszczyzna danych). Uwierzytelnianie płaszczyzny sterowania odbywa się przy użyciu funkcji kontroli dostępu opartej na rolach platformy Azure. Możesz użyć wstępnie skonfigurowanej roli wbudowanej](.. /.. /role-based-access-control/built-in-roles.md) lub możesz utworzyć rolę niestandardową. Za pomocą kontroli dostępu opartej na rolach platformy Azure można zarządzać kontami, bazami danych, kontenerami i metadanymi. Płaszczyzna sterowania obejmuje między innymi operacje, ale nie tylko te przykłady.
- Tworzenie, zastępowanie lub usuwanie baz danych — tworzenie, zastępowanie lub usuwanie kontenerów — odczytywanie lub zastępowanie przepływności bazy danych — odczytywanie lub zastępowanie uwierzytelniania płaszczyzny danych kontenera używa niestandardowego interfejsu API dla implementacji kontroli dostępu opartej na rolach noSQL. Dzięki tej natywnej implementacji można również użyć wstępnie skonfigurowanych lub niestandardowych ról. Za pomocą natywnej kontroli dostępu opartej na rolach można wykonywać zapytania, zarządzać elementami lub wykonywać inne typowe operacje. Płaszczyzna danych obejmuje między innymi operacje, ale nie tylko te przykłady.
- Tworzenie, zastępowanie, aktualizowanie lub usuwanie elementów — elementy poprawiania — wykonywanie zapytań
Czy usługa Azure Cosmos DB for NoSQL obsługuje język zapytań SQL?
Structured Query Language (SQL) to język, który jest zwykle używany do wykonywania zapytań dotyczących danych relacyjnych. Interfejs API dla NoSQL ma niestandardowy język zapytań NoSQL pochodzący z języka SQL. Język zapytań NoSQL zawiera podzestaw języka zapytań SQL zwykle skojarzony z programem SQL Server wraz z różnymi ulepszeniami specyficznymi dla programu NoSQL. Język zapytań NoSQL udostępnia rozbudowane operatory hierarchiczne i relacyjne oraz rozszerzalność za pomocą funkcji zdefiniowanych przez użytkownika (UDF) opartych na języku JavaScript. Gramatyka JSON umożliwia modelowanie dokumentów JSON jako drzew z węzłami oznaczonymi etykietami, które są używane zarówno przez techniki automatycznego indeksowania usługi Azure Cosmos DB, jak i dialekt zapytań SQL usługi Azure Cosmos DB. Aby uzyskać informacje na temat korzystania z tego języka zapytań, zobacz Zapytanie NoSQL.
Czy usługa Azure Cosmos DB for NoSQL obsługuje funkcje agregacji SQL?
Interfejs API dla noSQL obsługuje agregację za pomocą funkcji agregujących, takich jak: COUNT
, MAX
, AVG
i SUM
za pośrednictwem języka zapytań NoSQL.
Jak usługa Azure Cosmos DB for NoSQL zapewnia współbieżność?
Interfejs API dla noSQL obsługuje optymistyczną kontrolę współbieżności (OCC) za pomocą tagów jednostek HTTP lub elementów ETag. Każdy zasób interfejsu API dla noSQL ma element ETag, a element ETag jest ustawiany na serwerze za każdym razem, gdy dokument jest aktualizowany. Nagłówek ETag i bieżąca wartość są uwzględniane we wszystkich komunikatach odpowiedzi. Tagi ETag mogą być używane z nagłówkiem If-Match
, aby umożliwić serwerowi podjęcie decyzji, czy zasób ma zostać zaktualizowany. Wartość If-Match jest wartością elementu ETag do sprawdzenia. Jeśli wartość elementu ETag jest zgodna z wartością ETag serwera, zasób zostanie zaktualizowany. Jeśli element ETag nie jest już aktualny, serwer odrzuca operację z kodem odpowiedzi "Błąd warunku wstępnego HTTP 412". Następnie klient pobiera zasób, aby uzyskać bieżącą wartość elementu ETag dla zasobu. Ponadto elementy ETag mogą być używane z nagłówkiem, If-None-Match
aby określić, czy jest potrzebny do ponownego pobrania zasobu.
Większość zestawów SDK interfejsu API dla noSQL obejmuje klasy do zarządzania optymistyczną kontrolą współbieżności.
Jak mogę wstawić zbiorczo dokumenty do usługi Azure Cosmos DB for NoSQL?
Użyj funkcji importowania zbiorczego w zestawie SDK platformy .NET lub zestawie SDK języka Java dla interfejsu API for NoSQL, aby zaimportować duże zestawy danych. Ta funkcja optymalizuje aprowizowaną przepływność w celu importowania dużych zestawów danych.
Możesz też użyć platformy Apache Spark do importowania danych na dużą skalę przy użyciu języka Python lub języka Scala.
Czy usługa Azure Cosmos DB for NoSQL obsługuje buforowanie łączy zasobów?
Tak, ponieważ usługa Azure Cosmos DB for NoSQL jest usługą RESTful, łącza zasobów są niezmienne i mogą być buforowane. Interfejs API dla klientów NoSQL może określić nagłówek "If-None-Match" dla odczytów względem dowolnego dokumentu lub kontenera, a następnie zaktualizować swoje kopie lokalne po zmianie wersji serwera.
Czy jest dostępne lokalne wystąpienie usługi Azure Cosmos DB for NoSQL?
Tak. Emulator usługi Azure Cosmos DB zapewnia wysoką wierność emulacji usługi Azure Cosmos DB. Obsługuje ona funkcje identyczne z usługą Azure Cosmos DB w różnych interfejsach API. Ta funkcja obejmuje obsługę tworzenia elementów, wykonywania zapytań o elementy, aprowizowania kontenerów i skalowania kontenerów. Aplikacje można opracowywać i testować przy użyciu punktów końcowych emulatora. Następnie możesz wdrożyć aplikacje na platformie Azure w skali globalnej, zmieniając parametry połączenia z emulatora na usługę na żywo.
Dlaczego długie wartości zmiennoprzecinkowe w elemencie Usługi Azure Cosmos DB for NoSQL są zaokrąglane podczas korzystania z Eksploratora danych w portalu?
To ograniczenie eksploratora danych jest ograniczeniem języka JavaScript. Język JavaScript używa liczb zmiennoprzecinkowych o podwójnej precyzji, jak określono w Institute of Electrical and Electronics Engineers (IEEE) 754. Ten typ danych może bezpiecznie przechowywać liczby między -(253 -1) i 253-1 (czyli tylko 9007199254740991).
Zabezpieczenia
Czym jest kontrola dostępu oparta na rolach (RBAC)?
Kontrola dostępu oparta na rolach (RBAC) to metoda regulacji dostępu do komputerów lub zasobów sieciowych na podstawie ról poszczególnych użytkowników w przedsiębiorstwie. W usłudze Azure Cosmos DB kontrola dostępu oparta na rolach służy do udzielania dostępu płaszczyzny danych do użytkowników i aplikacji. Aby uzyskać więcej informacji na temat różnych terminów w kontroli dostępu opartej na rolach, zobacz słownik zabezpieczeń.
Jak mogę włączyć kontrolę dostępu opartą na rolach płaszczyzny danych dla usługi Azure Cosmos DB for NoSQL?
Użyj natywnej funkcji kontroli dostępu opartej na rolach (RBAC) usługi Azure Cosmos DB, aby udzielić dostępu do płaszczyzny danych użytkownikom i aplikacjom. Aby uzyskać więcej informacji, zobacz Udzielanie dostępu opartego na rolach płaszczyzny danych.
Które interfejsy API usługi Azure Cosmos DB obsługują kontrolę dostępu opartą na rolach płaszczyzny danych?
Od tej pory obsługiwany jest tylko interfejs API NoSQL.
Czy można zarządzać definicjami ról i przypisaniami ról z poziomu witryny Azure Portal?
Obsługa witryny Azure Portal na potrzeby zarządzania rolami nie jest jeszcze dostępna.
Które zestawy SDK w interfejsie API usługi Azure Cosmos DB dla bazy danych NoSQL obsługują kontrolę dostępu opartą na rolach?
Obecnie obsługiwane są zestawy SDK .NET V3, Java V4, JavaScript V3 i Python V4.3+.
Czy token usługi Microsoft Entra jest automatycznie odświeżany przez zestawy SDK usługi Azure Cosmos DB po jego wygaśnięciu?
Tak.
Czy można wyłączyć użycie kluczy podstawowych/pomocniczych konta podczas korzystania z kontroli dostępu opartej na rolach?
Tak. Aby uzyskać więcej informacji, zobacz wyłączanie uwierzytelniania opartego na kluczach.
Powiązana zawartość
Rozpoczynanie pracy z usługą Azure Cosmos DB dla baz danych NoSQL i platformy .NET
Wprowadzenie do usługi Azure Cosmos DB dla baz danych NoSQL i języka Python
Rozpoczynanie pracy z usługą Azure Cosmos DB dla baz danych NoSQL i języka Java
Wprowadzenie do usługi Azure Cosmos DB dla baz danych NoSQL i Języka Go
Rozpoczynanie pracy z usługą Azure Cosmos DB for NoSQL przy użyciu witryny Azure Portal
Rozpoczynanie pracy z usługą Azure Cosmos DB for NoSQL przy użyciu rozwiązania Bicep
Rozpoczynanie pracy z usługą Azure Cosmos DB for NoSQL przy użyciu narzędzia Terraform