将Powershell对象CSV字符串作为文件保存到Azure Blob存储

用户42012

我们正在通过Azure Runbook生成Powershell对象,并将其基本上转换为CSV字符串。

我们希望将此生成的CSV字符串(从Azure Powershell Runbook生成)作为CSV文件存储到Azure Blob存储中。有人可以帮助我,如何使用powershell命令将CSV字符串作为文件保存到Azure Blob存储中?我试图四处查看并遇到了Push-OutputBindings函数,但是不确定如何在Azure Powershell Runbook中使用该函数导入哪个模块,并且不确定它是否是Azure Functions V2的一部分,但是不确定如何使用它对我有帮助

谢谢

公斤

尝试以下代码-进行一些修改。本质上是将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函数,然后将字符串作为参数传递或传递给正文。这只是一个简单的REST API调用。

在Azure函数中,您可以具有Python,NodeJS或C#代码,这些代码会将您的字符串放入Blob存储区中的CSV文件中。有很多关于该主题的教程,但是首先,您需要将字符串传递给AF :)

看下面的例子,尝试类似的东西(我还没有测试过)。本质上,该想法是调用简单的REST API调用并在请求正文中传递有效负载:

[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

从Azure门户获得的Azure函数URL +代码,如果单击Azure函数,将看到“获取函数URL”按钮。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将文件保存到Azure Blob存储中

来自分类Dev

将.txt文件保存到Azure Blob存储中

来自分类Dev

将 csv 文件写入 azure blob 存储

来自分类Dev

Azure Blob存储授权

来自分类Dev

Azure存储:Blob与表

来自分类Dev

Azure Blob 存储

来自分类Dev

Azure Blob 存储 - 保存到文件时出现 404

来自分类Dev

上传存储在Azure Blob存储中的文件

来自分类Dev

Azure存储Blob:在Blob级别设置CORS?

来自分类Dev

Azure Blob存储列表容器和Blob

来自分类Dev

Azure存储Blob:在Blob级别设置CORS?

来自分类Dev

如何使用 Powershell 从 Azure 存储下载 blob 文件并将其保存到 FTP 服务器?

来自分类Dev

将Blob字符串保存到mysql

来自分类Dev

从Fiware对象存储下载Blob

来自分类Dev

使用Https的Azure Blob存储

来自分类Dev

找不到Azure Blob存储

来自分类Dev

从Azure Blob存储访问图像

来自分类Dev

Azure Blob存储:地理复制

来自分类Dev

Ruby Azure Blob存储:“ RequestBodyTooLarge”

来自分类Dev

找不到Azure Blob存储

来自分类Dev

来自 Android 的 Azure blob 存储

来自分类Dev

Azure Blob存储无效帐户字符串错误

来自分类Dev

如何在不将文件保存到本地存储的情况下将对象传输到Azure Blob存储?

来自分类Dev

在Azure Blob存储的多个CSV Blob上创建Hive表

来自分类Dev

如何使用 Node.js SDK 从 Azure Blob 存储读取附加 Blob 到字符串?

来自分类Dev

Nodejs Azure存储将Blob复制到新Blob

来自分类Dev

Azure Blob存储文件路径限制

来自分类Dev

Azure Blob存储大文件上传

来自分类Dev

从Azure Blob存储下载文件的示例