Я думаю, что вы сделали это с помощью команд New-TemporaryFile
в вашем коде.
Зачем использовать Get-AzureStorageBlobContent
для хранения содержимого блоба в файле, а затем создать другой временный файл для копирования содержимого?
Это было бы намного проще:
foreach ($blob in $blobs) {
$localFile = New-TemporaryFile
Get-AzureStorageBlobContent -Container $container_name -Blob $blob.Name -Context $ctx -Destination $localFile.FullName -Force
$Header = @{
"Content-Disposition"="attachment;filename=$($blob.Name)"
"Authorization"=$accessToken
}
Invoke-RestMethod -Uri $apiUrl -Headers $Header -Method put -InFile $localFile.FullName
}
Редактировать
Команда New-TemporaryFile
возвращает объект System.IO.FileInfo
, который нельзя напрямую использовать в качестве параметра InFile
. Вместо этого он ожидает полный путь и имя файла, поэтому мы используем $localFile.FullName