Примеры пакета SDK Для NoSQL для Azure Cosmos DB для Python
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Примеры решений, которые выполняют операции CRUD и другие распространенные операции с ресурсами Azure Cosmos DB, включены в main/sdk/cosmos
папку репозитория azure/azure-sdk-for-python GitHub. Эта статья содержит:
- Ссылки на задачи в каждом из примеров файлов проектов Python.
- Ссылки на соответствующие справочные материалы по API.
Необходимые компоненты
- Учетная запись Azure Cosmos DB. Возможные варианты:
- В подписке Azure Active:
- Создайте бесплатную учетную запись Azure или используйте существующую подписку.
- Ежемесячный кредит Visual Studio.
- Бесплатный уровень Azure Cosmos DB.
- Без подписки Azure Active:
- Попробуйте Azure Cosmos DB бесплатно — тестовая среда, доступная в течение 30 дней.
- Эмулятор Azure Cosmos DB
- В подписке Azure Active:
- Python 3.7 или более поздней версии с исполняемым файлом
python
вPATH
. (Дополнительные сведения см. в разделе Политика поддержки версий Python пакетов SDK Azure.) - Visual Studio Code.
- Расширение Visual Studio Code для Python.
- Git.
- Пакет SDK Для NoSQL для Azure Cosmos DB для Python
Примеры баз данных
В примере database_management.py Python показано, как выполнять следующие задачи с помощью методов CosmosClient. Дополнительные сведения о базах данных Azure Cosmos DB перед выполнением следующих примеров см . в статье "Работа с базами данных, контейнерами и элементами ".
Задача | Справочник по API |
---|---|
Создание базы данных | CosmosClient.create_database |
Чтение базы данных по идентификатору | CosmosClient.get_database_client |
Обращение к базам данных | CosmosClient.query_databases |
Получение списка баз данных для учетной записи | CosmosClient.list_databases |
Удаление базы данных | CosmosClient.delete_database |
Примеры контейнеров
В примере container_management.py Python показано, как выполнять следующие задачи с помощью методов DatabaseProxy. Сведения о коллекциях Azure Cosmos DB перед выполнением следующих примеров см . в статье о работе с базами данных, контейнерами и элементами .
Задача | Справочник по API |
---|---|
Обращение к контейнеру | database.query_containers |
Создание контейнера | database.create_container |
Перечисление всех контейнеров в базе данных | database.list_containers |
Получение контейнера по идентификатору | database.get_container_client |
Управление подготовленной пропускной способностью контейнера | container.replace_throughput |
Удаление контейнера | database.delete_container |
Примеры элементов
Примеры document_management.py и change_feed_management.py Python показывают, как выполнять следующие задачи с помощью методов ContainerProxy. Дополнительные сведения о элементах Azure Cosmos DB перед выполнением следующих примеров см . в статье "Работа с базами данных, контейнерами и элементами ".
Задача | Справочник по API |
---|---|
Создание элементов в контейнере | container.create_item |
Считывание элемента по идентификатору | container.read_item |
Считывание всех элементов в контейнере | container.read_all_items |
Обращение к элементу по идентификатору | container.query_items |
Замена элемента | container.replace_item |
Операция UPSERT элемента | container.upsert_item |
Удаление элемента | container.delete_item |
Получение канала изменений элементов в контейнере | container.query_items_change_feed |
Примеры индексирования
В примере index_management.py (Python) показано, как выполнять следующие задачи. Чтобы узнать больше об индексировании в Azure Cosmos DB перед выполнением приведенных ниже примеров, ознакомьтесь с тематическими статьями, посвященными политикам, типам и путям индексирования.
Задача | Справочник по API |
---|---|
Исключение определенного элемента из индексации | Документы.IndexingDirective. Исключать |
Использование ручного индексирования с определенными проиндексированными элементами | documents.IndexingDirective.Include |
Исключение путей из индексирования | Определение путей для исключения в свойстве IndexingPolicy |
Использование диапазонных индексов в строках | Определение политики индексации с индексами диапазона для строкового типа данных. 'kind': documents.IndexKind.Range , 'dataType': documents.DataType.String |
Преобразование индекса | база данных. replace_container (используйте обновленную политику индексирования) |
Использование проверки, если в пути существует только хэш-индекс | Определение enable_scan_in_query=True и enable_cross_partition_query=True при обращении к элементам |
Следующие шаги
Если вы планируете ресурсы для миграции в Azure Cosmos DB, Для планирования ресурсов можно использовать сведения об имеющемся кластере базы данных.
- Если вам известно только количество виртуальных ядер и серверов в существующем кластере баз данных, см. сведения об оценке единиц запросов на основе виртуальных ядер и серверов.
- Если вам известна стандартная частота запросов для текущей рабочей нагрузки базы данных, ознакомьтесь со статьей о расчете единиц запросов с помощью планировщика ресурсов Azure Cosmos DB