1.Я хотел бы узнать, как определить RU в функции createCollection.
Добавить offerThroughput
параметр.
databaseLink = "dbs/db"
coll = {
"id": "testCreate",
"indexingPolicy": {
"indexingMode": "lazy",
"automatic": False
},
"partitionKey": {
"paths": [
"/AccountNumber"
],
"kind": "Hash"
}
}
collection_options = { 'offerThroughput': 2000}
client.CreateCollection(databaseLink , coll, collection_options)
2. Интересно, есть ли способ повысить производительность функции createDocument.
Во-первых, я не думаю, что функция createDocument()
очень медленная, вместо этого должен быть весь процесс импорта.медленно из-за ваших данных.Основываясь на вашем описании, вы не столкнетесь с ошибкой, такой как Частота запросов слишком велика . Учитывая ваши экономические проблемы, я не рекомендую вам бесконечно увеличивать настройки RU. Можно рассмотреть возможность использования хранимой процедуры для массового импорта вашегоданные. Пожалуйста, обратитесь к образцу в официальном документе .
3.Другой выбор.
Вы можете использовать Azure Data Factory для импорта данных из CSV-файла непосредственно в dos cosmos. Пожалуйста, обратитесь к шагам в моем предыдущем ответе: Преобразование JSON в CSV в Azure Cosmos DB или Azure Blob .Просто конвертируйте ввод и вывод.
Обновление:
Каковы преимущества использования процедуры массового импорта?
Хранимая процедура Cosmos db - это фрагмент кода js, который выполняется на стороне сервера cosmos db.Поэтому, если вы используете его для массового импорта данных, это может снизить нагрузку на вашу клиентскую сторону.
Могу ли я добавить процедуру хранения в Java-коде в мой код Python?
Cosmos DB Хранимая процедура представляет собой фрагмент кода js, выполняемого на стороне сервера cosmos db.Вы можете вызвать хранимую процедуру в cosmos db python sdk .
Что касается фабрики данных, возможно ли автоматизировать процесс, чтобы обобщить его для различных коллекций и БД?
Исходя из свойств набора данных базы данных Cosmos DB фабрики Azure , необходимо настроить имя коллекции.Таким образом, вы не можете создать набор данных для разных коллекций.Конечно, вы можете изменить имя коллекции в sdk по своему усмотрению вместо создания нескольких наборов данных.
Любая проблема, пожалуйста, дайте мне знать.