Существует ли REST API для TrackAvailability? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть сценарий PowerShell, который выполняет предварительные тесты для API, которые доступны только в исходных условиях.Тип тестов не имеет отношения к этому вопросу.Они проходят или терпят неудачу с сообщением об ошибке.

Я хочу использовать функциональность Application Insights TrackAvailability , чтобы сообщить о результатах теста в Azure.Это позволило бы мне отслеживать все на портале Azure.

Вопрос: могу ли я сделать ту же логику TrackAvailability , например, с помощью вызова REST из PowerShell вместо использования .NET API?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Вы можете перейти по этой ссылке :

Я сделал тест и отлично работает:

код powershell:

$body = (New-Object PSObject `
    | Add-Member -PassThru NoteProperty name 'Microsoft.ApplicationInsights.Availability' `
    | Add-Member -PassThru NoteProperty time $([System.dateTime]::UtcNow.ToString('o')) `
    | Add-Member -PassThru NoteProperty iKey "your instrumentation key" `
    | Add-Member -PassThru NoteProperty tags (New-Object PSObject `
    | Add-Member -PassThru NoteProperty 'ai.cloud.roleInstance' $env:computername `
    | Add-Member -PassThru NoteProperty 'ai.internal.sdkVersion' 'one-line-ps:1.0.0') `
    | Add-Member -PassThru NoteProperty data (New-Object PSObject `
        | Add-Member -PassThru NoteProperty baseType 'EventData' `
        | Add-Member -PassThru NoteProperty baseData (New-Object PSObject `
            | Add-Member -PassThru NoteProperty ver 2 `
            | Add-Member -PassThru NoteProperty name 'aaaaaaaa from one line script' `
            | Add-Member -PassThru NoteProperty properties (New-Object PSObject `
                | Add-Member -PassThru NoteProperty propName 'propValue')))) `
    | ConvertTo-JSON -depth 5; 

    Invoke-WebRequest -Uri 'https://dc.services.visualstudio.com/v2/track' -Method 'POST' -UseBasicParsing -body $body

Результат теста:

enter image description here

Вы также можете напрямую использовать TrackAvailability метод в powershell, просто скопируйте «Microsoft.ApplicationInsights.dll» в папку, затем используйте addТип, чтобы добавить его.Простой случай, как показано ниже:

enter image description here

0 голосов
/ 12 февраля 2019

Да, вы можете сделать HTTP-пост с результатами проверки доступности.Проще всего было бы создать консольное приложение, выполняющее вызов TrackAvailability (), и записать трассировку фиддлера, чтобы узнать структуру тела сообщения.И вы можете сделать это из powershell.

Спецификации конечных точек описаны здесь, но описанный выше подход поможет вам быстро начать работу.https://github.com/Microsoft/ApplicationInsights-Home/tree/master/EndpointSpecs

...