
QuestDB – це потужна відкрита колоночна база даних, яка відома своєю швидкодією та ефективністю. Якщо ви працюєте з даними у форматі CSV і хочете завантажити їх в QuestDB, ви зіткнетеся з питанням, як це зробити з використанням Powershell в середовищі Windows.
На перший погляд, ви могли б спробувати використати команду Invoke-RestMethod у Powershell, аналогічно до команди curl у Linux:
|
1 |
Invoke-RestMethod -Uri "http://localhost:9000/imp?name=AllTrade" -Method Post -InFile "C:\path\to\AllTrades.csv" |
Проте, ця спроба часто призводить до відмови. Щоб знайти правильний спосіб завантаження CSV в QuestDB через Powershell, потрібно врахувати особливості цієї операції.
Один з можливих варіантів – використання командлету Invoke-WebRequest для відправлення POST-запиту разом з файлом. Нижче наведено приклад такого коду:
|
1 2 |
$fileContent = Get-Content "C:\path\to\AllTrades.csv" Invoke-WebRequest -Uri "http://localhost:9000/imp?name=AllTrade" -Method Post -Body $fileContent -ContentType "text/csv" |
У цьому коді ми спочатку читаємо вміст CSV-файлу за допомогою Get-Content, а потім передаємо його як тіло запиту у Invoke-WebRequest. Також вказуємо тип контенту як text/csv.
Важливо також переконатися, що ви маєте правильні дозволи доступу до файлу та вірно вказали шлях до нього.
Отже, використання Powershell для завантаження CSV в базу даних QuestDB може бути здійснене шляхом використання командлету Invoke-WebRequest та правильного вказання параметрів запиту.