Save-AzureWebSiteLog Invoke-WebRequest ошибка

Я был очень близок, чтобы закончить свою работу, но это стало причиной этой ошибки.

когда я выполню это

Save-AzureWebSiteLog -Name $WebSiteName -Output "C:\logs\error.zip"

Save-AzureWebSiteLog: превышен максимальный размер квоты для входящих сообщений (65536). Чтобы увеличить квоту, используйте свойство MaxReceivedMessageSize в соответствующем элементе привязки.

Итак, я искал решение, похоже, что у многих людей точно такая же проблема.

https://azure.microsoft.com/en-us/blog/windows-azure-websites-online-tools-you-should-know-about/

Благодаря @Parth Sehgal я попытался решить проблему с помощью powershell

$username = "maiemai"
$password = "Password"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$apiUrl = "https://wngphase2it.scm.azurewebsites.net/api/zip/LogFiles/"
$response = Invoke-WebRequest -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET 
try
{
$filename = [System.IO.Path]::GetFileName($response.BaseResponse.ResponseUri.OriginalString)
$filepath = [System.IO.Path]::Combine("c:\asdf\", "http1.zip")
$filestream = [System.IO.File]::Create($filepath)
$response.RawContentStream.WriteTo($filestream)
}
finally
{
$filestream.Close()
}

но я застрял с этой ошибкой

Invoke-WebRequest: ошибка сервера 401 - неавторизовано: доступ запрещен из-за неверных учетных данных. У вас нет разрешения на просмотр этого каталога или страницы с использованием предоставленных вами учетных данных. В строке:5 символов:13 + $response = Invoke-WebRequest -Uri $apiUrl -Headers @{Authorization=("Basic {0}" ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException + FullyQualifiedErrorId: WebCmdletWebResponseException,Microsoft.QukeRevoCell вызовите метод для выражения с нулевым значением. В строке:11 char:1 + $response.RawContentStream.WriteTo($filestream) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId: InvokeMethodOnNull

Имя пользователя и пароль определенно верны, но они все еще вызывают эту ошибку.

Как мне изменить эту строку?

$response = Invoke-WebRequest -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET 

1 ответ

Решение

Прежде всего, ваше имя пользователя неверно в этом случае.

Чтобы использовать API REST Azure Kudu для получения сжатых файлов журнала для вашего веб-приложения Azure, вам потребуется использовать учетные данные MSDeploy вашего веб-приложения в файле профиля публикации.

Правильная форма имени пользователя веб-приложения Azure MSDeploy должна быть $ {yoursitename}.

Вы можете получить профиль публикации своего веб-приложения на новом портале Azure или с помощью команды Azure PowerShell: Get-AzureRMWebAppPublishingProfile

Я также исправил проблему в вашем скрипте PowerShell, который я тестировал с помощью своего собственного веб-приложения.

$username = "`$wngphase2it"
$password = "yourMSDeployUserPwd"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$apiUrl = "https://wngphase2it.scm.azurewebsites.net/api/zip/LogFiles/"
$response = Invoke-WebRequest -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET 
try
{
$filename = [System.IO.Path]::GetFileName($response.BaseResponse.ResponseUri.OriginalString)
$filepath = [System.IO.Path]::Combine("c:\asdf\", "http1.zip")
$filestream = [System.IO.File]::Create($filepath)
$response.RawContentStream.WriteTo($filestream)
}
finally
{
$filestream.Close()
}

Ссылка: пример использования REST API Kudu с PowerShell

Дайте мне знать, поможет ли это решить вашу проблему.

Другие вопросы по тегам