我需要将文件上传到REST端点,但我的文件位于Blob存储中。我的最终目标是从Azure自动化运行此目标,以便我可以使用一致的Runbook将文件添加到新的Azure Web Apps。
我遇到的挑战是InFile似乎在寻找本地存储。我尝试使用Azure自动化的New-PSDrive(以及New-PSSession),但它不会将我的本地驱动器添加为Azure自动化中的会话资源。
无论如何都要从Blob存储上传到Rest Endpoint吗?我正试图点击Kudu Zip上传API:https://github.com/projectkudu/kudu/wiki/REST-API。我猜测从Azure Blob到Azure Web App FTP的某种文件流可能是更好的前进方式。
$username = "`$mywebappusername"
$password = "abcdefghijklmnopqrstuvwxyz"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password)))
$userAgent = "powershell/1.0"
$apiUrl = "https://mywebapp.scm.azurewebsites.net/api/zip/site/wwwroot"
$filePath = "https://myblob.blob.core.windows.net/configs/testconfig.zip"
Invoke-RestMethod -Uri $apiUrl -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -UserAgent $userAgent -Method PUT -InFile $filePath -ContentType "multipart/form-data"