ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Общие
Разделы справки начать разработку в Azure Cosmos DB для NoSQL?
Во-первых, вам нужно зарегистрироваться для получения подписки Azure. После регистрации подписки Azure вы можете добавить в подписку Azure API для контейнера NoSQL.
Пакеты средств разработки программного обеспечения (SDK) доступны для .NET, Python, Node.js, JavaScript, Go и Java. Разработчики также могут использовать REST API для взаимодействия с ресурсами Azure Cosmos DB с дополнительных платформ и языков.
Есть ли примеры Azure Cosmos DB для NoSQL для начала работы?
Ознакомьтесь с этими примерами кода и шаблонами краткого руководства для API для NoSQL:
Поддерживает ли Azure Cosmos DB для NoSQL данные без схемы?
Да, API для NoSQL позволяет приложениям хранить произвольные документы JSON в виде элементов без определений схемы или подсказок. Данные сразу же доступны для запроса с помощью языка запросов Azure Cosmos DB для NoSQL.
Поддерживает ли Azure Cosmos DB для NoSQL транзакции ACID (атомарность, согласованность, изоляцию, устойчивость) ?
Да, API для NoSQL поддерживает транзакции между документами, выраженные с помощью пакетов в пакетах SDK или как хранимые процедуры и триггеры JavaScript. Транзакции объединяются в одну секцию в каждом контейнере. Они выполняются с помощью семантики ACID только полностью и изолированно от другого параллельно выполняемого кода и пользовательских запросов. При возникновении исключений выполняется откат всей транзакции.
Разделы справки создать базу данных Azure Cosmos DB для NoSQL?
Базы данных можно создать с помощью одного из следующих средств:
- Портал Azure
- Пакеты SDK для клиента NoSQL (плоскости данных)
- Пакеты SDK для управления NoSQL (плоскость управления)
- Azure Resource Manager
- REST API
Можно ли выполнить проверку подлинности в Azure Cosmos DB для NoSQL с помощью существующих учетных записей идентификатора Microsoft Entra?
Да! Azure Cosmos DB поддерживает проверку подлинности Microsoft Entra для управления службой и ее ресурсами (плоскости управления) и выполнения данных, операций и запросов (плоскости данных). Проверка подлинности на уровне управления выполняется с помощью функции управления доступом на основе ролей в Azure. Вы можете использовать предварительно настроенную встроенную роль](.). /.. /role-based-access-control/built-in-role.md) или создать пользовательскую роль. С помощью управления доступом на основе ролей Azure можно управлять учетными записями, базами данных, контейнерами и метаданными. Плоскость управления включает в себя операции, включая, но не ограничиваясь этими примерами.
- Создание, замена или удаление баз данных — создание, замена или удаление контейнеров — чтение или замена пропускной способности базы данных. Чтение или замена проверки подлинности пропускной способности контейнера использует настраиваемый API для реализации управления доступом на основе ролей NoSQL. С помощью этой собственной реализации можно также использовать предварительно настроенные или пользовательские роли. С помощью собственного управления доступом на основе ролей можно выполнять запросы, управлять элементами или выполнять другие распространенные операции. Плоскость данных включает в себя операции, включая, но не ограничиваясь этими примерами.
- Создание, замена, обновление или удаление элементов — элементы исправления — выполнение запросов
Поддерживает ли Azure Cosmos DB для NoSQL язык запросов SQL?
язык SQL (SQL) — это язык, который обычно используется для запроса реляционных данных. API для NoSQL имеет пользовательский язык запросов NoSQL , производный от SQL. Язык запросов NoSQL включает подмножество языка запросов SQL, обычно связанного с SQL Server, а также различные улучшения NoSQL. Язык запросов NoSQL предоставляет расширенные иерархические и реляционные операторы и расширяемость с помощью определяемых пользователем функций на основе JavaScript .UDFs. Грамматика JSON позволяет моделировать документы JSON в виде деревьев с помеченными узлами, которые используются как технологиями автоматического индексирования Azure Cosmos DB, так и запросами на диалекте языка SQL Azure Cosmos DB. Сведения об использовании этого языка запросов см. в разделе NoSQL Query.
Поддерживает ли Azure Cosmos DB для NoSQL функции агрегирования SQL?
API для NoSQL поддерживает агрегирование через агрегатные функции, такие как COUNT
, MAX
, AVG
и SUM
через язык запросов NoSQL.
Как Azure Cosmos DB для NoSQL обеспечивает параллелизм?
API для NoSQL поддерживает управление оптимистическим параллелизмом (OCC) с помощью тегов сущностей HTTP или ETags. Каждый ресурс API для NoSQL имеет ETag, и ETag устанавливается на сервере при каждом обновлении документа. Заголовок и текущее значение ETag добавляются во все сообщения ответа. ETags можно использовать с заголовком If-Match
, чтобы разрешить серверу решить, следует ли обновлять ресурс. Значением If-Match является значение ETag, используемое для проверки. Если это значение ETag совпадает со значением ETag сервера, ресурс будет обновлен. Если тег ETag больше не актуален, сервер отклоняет операцию с кодом ответа "HTTP 412: ошибка в предусловии". После этого клиенту нужно повторно извлечь ресурс, чтобы получить его текущее значение ETag. Кроме того, ETags можно использовать с заголовком If-None-Match
, чтобы определить, требуется ли его ссылка на ресурс.
Большинство пакетов SDK API для NoSQL включают классы для управления элементом управления оптимистичным параллелизмом.
Как выполнить массовую вставку документов в Azure Cosmos DB для NoSQL?
Используйте функцию массового импорта в пакете SDK для .NET или пакете SDK Java для API noSQL для импорта больших наборов данных. Эта функция оптимизирует подготовленную пропускную способность для импорта больших наборов данных.
Кроме того, используйте Apache Spark для импорта данных в масштабе с помощью Python или Scala.
Поддерживает ли Azure Cosmos DB для NoSQL кэширование ссылок ресурсов?
Да, так как Azure Cosmos DB для NoSQL — это служба RESTful, ссылки на ресурсы неизменяемы и могут кэшироваться. API для клиентов NoSQL может указать заголовок If-None-Match для операций чтения в любом документе или контейнере, например документе или контейнере, а затем обновить локальные копии после изменения версии сервера.
Доступен ли локальный экземпляр Azure Cosmos DB для NoSQL?
Да. Эмулятор Azure Cosmos DB предоставляет высокообразную эмуляцию службы Azure Cosmos DB. Она поддерживает функции, идентичные Azure Cosmos DB в различных API. Эта функция включает поддержку создания элементов, запроса элементов, контейнеров подготовки и масштабирования контейнеров. Вы можете разрабатывать и тестировать приложения с помощью конечных точек эмулятора. Затем можно развернуть приложения в Azure в глобальном масштабе, изменив строка подключения из эмулятора в динамическую службу.
Почему значения с плавающей запятой в элементе Azure Cosmos DB для NoSQL округляются при использовании обозревателя данных на портале?
Это ограничение Обозревателя данных является ограничением JavaScript. JavaScript использует номера форматов с плавающей запятой двойной точности, как указано в институте инженеров электротехники и электроники (IEEE) 754. Этот тип данных может безопасно хранить числа между -(253 – 1) и 253-1 (то есть, 9007199254740991) только.
Безопасность
Что такое управление доступом на основе ролей (RBAC)?
Управление доступом на основе ролей (RBAC) — это метод регулирования доступа к компьютеру или сетевым ресурсам на основе ролей отдельных пользователей в организации. В Azure Cosmos DB RBAC используется для предоставления доступа к плоскости данных пользователям и приложениям. Дополнительные сведения о различных терминах управления доступом на основе ролей см. в глоссарии безопасности.
Разделы справки включить управление доступом на основе ролей на основе данных для Azure Cosmos DB для NoSQL?
Используйте функцию управления доступом на основе ролей Azure Cosmos DB (RBAC) для предоставления доступа к плоскости данных пользователям и приложениям. Дополнительные сведения см. в разделе "Предоставление доступа на основе ролей на основе данных".
Какие API-интерфейсы Azure Cosmos DB поддерживают управление доступом на основе ролей на основе данных?
По состоянию на данный момент поддерживается только API NoSQL.
Можно ли управлять определениями и назначениями ролей на портале Azure?
портал Azure поддержка управления ролями пока недоступна.
Какие пакеты SDK в API Azure Cosmos DB для NoSQL поддерживают управление доступом на основе ролей?
Сейчас поддерживаются пакеты SDK для .NET V3, JavaScript версии 3, JavaScript версии 3 и Python версии 3+ .
Будут ли пакеты SDK для Azure Cosmos DB автоматически обновлять маркер Microsoft Entra по истечении срока действия?
Да.
Можно ли отключить использование первичных или вторичных ключей учетной записи при использовании управления доступом на основе ролей?
Да. Дополнительные сведения см. в разделе об отключении проверки подлинности на основе ключей.