assets/OfficialDemos/Others/PowerShell/5.GetCounter30sIngestFile.ps1 (32 lines of code) (raw):

# dependencies $pkgroot = "C:\Microsoft.Azure.Kusto.Tools\tools\net5.0" $null = [System.Reflection.Assembly]::LoadFrom("$pkgroot\Kusto.Data.dll") $null = [System.Reflection.Assembly]::LoadFrom("$pkgroot\Kusto.Ingest.dll") # destination $uri = "https://ingest-kvc43f0ee6600e24ef2b0e.southcentralus.kusto.windows.net;Fed=True" $db = "MyDatabase" $t = "Counter" # get data $fp = 'C:\hiram_msft\ADXIoTAnalytics\assets\OfficialDemos\Others\PowerShell\Counter.csv' if (Test-Path $fp){ Remove-Item $fp -Force } $timeout = new-timespan -Seconds 30 $sw = [diagnostics.stopwatch]::StartNew() while ($sw.elapsed -lt $timeout){ (Get-Counter).CounterSamples ` | Select-Object Timestamp, Path, InstanceName, CookedValue ` | ConvertTo-Csv -NoTypeInformation ` | Select-Object -Skip 1 ` | Out-File $fp -Force -Append start-sleep -Seconds 1 } # ingest $s = [Kusto.Data.KustoConnectionStringBuilder]::new($uri, $db) $c = [Kusto.Ingest.KustoIngestFactory]::CreateQueuedIngestClient($s) $p = [Kusto.Ingest.KustoQueuedIngestionProperties]::new($db, $t) $p.Format = [Kusto.Data.Common.DataSourceFormat]::csv $p.IgnoreFirstRecord = $false $r = $c.IngestFromStorageAsync($fp,$p) $r $r.Result.GetIngestionStatusCollection()