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
та правильного вказання параметрів запиту.