Как удалить службу приложений -> Веб-приложение -> Файлы журналов из C # ИЛИ Microsoft.Azure.Management - PullRequest
0 голосов
/ 04 ноября 2019

В настоящее время войдите в систему через Kudo / Azure CLI / FTP и удалите вручную.

У нас есть существующая кодовая база dev-ops, которая использует Microsoft.Azure.Management. Ищете какой-либо способ удаления файлов, в частности /LogFiles/*.log, где старше x, с использованием C # неопределенно.

Казалось бы, можно перечислить WebApps и получить учетные данные FTP и использовать FtpWebRequest, но хотелось бы знать, есть ли более прямой путь.

Не видел здесь никаких способов -> Веб-приложения :

1 Ответ

2 голосов
/ 05 ноября 2019

Боюсь, что нет прямого пути. Однако вы можете позвонить Kudu Api , чтобы удалить файлы журнала. Ниже приведен пример сценария powershell:

$ResGroupName = ""
$WebAppName = ""
$LogFolder = ""
$DaysToKeepLogsAround=""

# Get publishing profile for web application

$WebApp = Get-AzWebApp -Name $WebAppName -ResourceGroupName $ResGroupName
[xml]$publishingProfile = Get-AzWebAppPublishingProfile -WebApp $WebApp

# Create Base64 authorization header

$username = $publishingProfile.publishData.publishProfile[0].userName
$password = $publishingProfile.publishData.publishProfile[0].userPWD
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))

$apiBaseUrl = "https://$($WebApp.Name).scm.azurewebsites.net/api/command"

# Download the ZIP file to ./tmp.zip

 $apiCommand = @{
        command = 'powershell.exe -command "Get-ChildItem -Path $LogFolder -Recurse -File | Where LastWriteTime  -lt  (Get-Date).AddDays(-$DaysToKeepLogsAround) | Remove-Item -Force"'
        dir=$LogFolder
    }

Invoke-RestMethod -Uri $apiBaseUrl -Headers @{"Authorization"="Basic $base64AuthInfo";"If-Match"="*"} -Method POST -ContentType "application/json" -Body (ConvertTo-Json $apiCommand)

Вы также можете обратиться к другому примеру в этом thread .

Также можно создать веб-задание Azure и загрузить сценарий powershell для удаления старых файлов журнала. Пожалуйста, проверьте здесь для подробных шагов.

...