2

我正在尝试使用 powershell 下载特定网站的网站日志:

Save-AzureWebsiteLog -Name website1 -output file.zip

它引发了关于最大消息大小配额的错误,我已经搜索了一个答案,但我能找到的只是在服务器 web.config 上设置它 - 这不是客户端的设置,因为它是制作请求响应?

save-azurewebsitelog : The maximum message size quota for incoming messages (65536) has been exceeded. To increase the
quota, use the MaxReceivedMessageSize property on the appropriate binding element.
At line:1 char:1
+ save-azurewebsitelog -name website1 -output file.zip
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [Save-AzureWebsiteLog], CommunicationException
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Websites.SaveAzureWebsiteLogCommand

我在问是否有人知道如何将此 MaxRecievedMessageSize 设置为高于 65536 的值,以便我可以下载我的 IIS 日志。

4

3 回答 3

4
  1. 你可以在这里打开一个问题:https ://github.com/Azure/azure-powershell

  2. 同时,您可以访问您的scm站点并从那里下载您的 IIS 日志,方法是浏览到:https://{siteName}.scm.azurewebsites.net(提供您的部署凭据)并单击诊断转储链接最佳。

    有关此 scm 站点的更多信息,请访问此处:http: //blogs.msdn.com/b/windowsazure/archive/2014/03/04/windows-azure-websites-online-tools-you-should-know-about。 aspx

于 2014-03-20T19:22:27.000 回答
1

我制作了这个脚本作为解决方法:-

$username = "<enter git deployment username>"
$password = "<enter git deployment password>"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$apiUrl = "https://<website name>.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()
}
于 2015-05-29T08:12:08.220 回答
0

当日志文件超过 65536 时会出现此问题,我们将着手解决此问题。同时,请在下载旧日志文件后删除它们,这样您就不会遇到这个问题。

于 2015-05-12T22:35:03.907 回答