Попробуйте следующий код - с некоторыми изменениями. По сути, идея заключается в том, чтобы сохранить CSV-файл локально, а затем загрузить его в хранилище BLOB-объектов (я проверял его локально, но не из Runbook, но он также должен там работать):
#file name will be a guid string to avoid overlapping
$guid = New-Guid
$guidString =$guid.ToString()
# store csv string to random file with random name (guid)
$LogFull = "$guidString.csv"
$LogItem = New-Item -ItemType File -Name $LogFull
#ignore next two lines as you already have csv string
$Date = Get-Date
$csvstring = ConvertTo-Csv -InputObject $Date -Delimiter ';' -NoTypeInformation
#save csv string locally
$csvstring | Out-File -FilePath $LogFull -Append
#and then upload it to blob storage
#Get key to storage account
$acctKey = (Get-AzureRmStorageAccountKey -Name storage_acc_name -ResourceGroupName EastUS-TestRG).Value[0]
#Map to the reports BLOB context
$storageContext = New-AzureStorageContext -StorageAccountName "StorageAccName" -StorageAccountKey "acc_key"
#Copy the file to the storage account
Set-AzureStorageBlobContent -File $LogFull -Container "your_container" -BlobType "Block" -Context $storageContext -Verbose
Альтернативное решение с функциями Azure
Постарайтесь, чтобы ваша Runbook вызывала вызываемую Http функцию Azure, и передайте строку в качестве параметра или в теле. Это просто простой вызов API REST.
В функции Azure вы можете использовать код Python, NodeJS или C #, который поместит вашу строку в файл CSV в хранилище BLOB-объектов. Для этой темы существует множество учебных пособий, но сначала вам нужно передать свою строку в AF :)
Посмотрите на приведенный ниже пример и попробуйте нечто подобное (я не проверял его). По сути, идея состоит в том, чтобы вызвать простой вызов API REST и передать полезную нагрузку в теле запроса:
[string]$Endpoint= "https://myfunction.azurewebsites.net/api/HttpTrigger?code=my_code_I_get_from_Azure_portal"
. . .
$payload =@" your payload "@
$Header = @{
"Content-Type" = "text/plain";
}
$Result = Invoke-RestMethod -Uri $Endpoint -Method Post -body $Payload Headers $Header
URL-адрес функции Azure + код, полученный на портале Azure. Если вы нажмете на функцию Azure, вы увидитекнопка «Получить функцию URL».