使用Azure Powershell runbook在Azure data lake store上将Csv文件转换为Xml

使用Azure Powershell runbook在Azure data lake store上将Csv文件转换为Xml,powershell,azure-data-factory,azure-data-lake,azure-runbook,Powershell,Azure Data Factory,Azure Data Lake,Azure Runbook,我想使用AzurePowershell将Azure data lake store上的CSV文件转换为XML。 我在azure自动化的Runbook上使用了这段代码 它工作得很好,但是没有生成XML $cred = Get-AutomationPSCredential -Name 'xyz' $subscriptionName = 'Pay-As-You-Go' $null = Add-AzureRmAccount -Credential $cred Select-AzureRmSubscrip

我想使用AzurePowershell将Azure data lake store上的CSV文件转换为XML。 我在azure自动化的Runbook上使用了这段代码 它工作得很好,但是没有生成XML

$cred = Get-AutomationPSCredential -Name 'xyz'
$subscriptionName = 'Pay-As-You-Go'
$null = Add-AzureRmAccount -Credential $cred
Select-AzureRmSubscription -SubscriptionName $subscriptionName | Out-Null 
$adla = "TestAzure"
$obj = Get-AzureRmDataLakeStoreItem -AccountName $adla -Path "/custom/logile/masters/Test/Test.csv" 
 $xmlobj = ConvertTo-Xml -InputObject $obj -As 'string' 
$xmlobj | Out-File -FilePath "/custom/logile/masters/Test/xmlOut.xml"
这段代码在这里“$obj=Get”之前运行良好,但我无法写入Azure data lake。
是否有任何方法可以使用Object在Azure data lake中写入文件。

感谢您的帮助

您试图使用Out-file cmdlet将xml文件导出到Azure自动化执行的当前实例中不存在的路径
/custom/logile/masters/Test
。您没有将xml文件上载到Data Lake存储

要完成您的要求,您必须使用以下命令替换runbook中的最后一行(即,最后一行是
$xmlobj | Out File-FilePath”/custom/logile/masters/Test/xmlOut.xml“

我已经成功地测试了它。如果感兴趣,您可以查看下面的屏幕截图以获取说明

请注意,上面截图中我的runbook的前几行与您的有点不同,因为我已授予Automation帐户RunAs帐户Data Lake store destination文件夹的权限。所以你可以忽略这一部分


希望这有帮助!!干杯

为什么不能使用导入AzureRmDataLakeStoreItem来上载文件?代码运行后,
$obj
的内容是什么?@l--l--l--l您有
/custom/logile/masters/Test/
的写权限吗?
$xmlobj | Out-File -FilePath "$env:temp/xmlOut.xml"
Import-AzureRmDataLakeStoreItem -AccountName $adla -Path "$env:temp/xmlOut.xml" -Destination "/custom/logile/masters/Test/xmlOut.xml"