我正在尝试使用Powershell脚本从azure数据湖存储下载文件。该代码是从Azure云中的Runbook触发的。 Export-AdlStoreItem
似乎无法正常工作。我没有收到任何错误消息或编译错误。实际上,执行此命令时,目标中将生成一个零字节文件。该文件的名称为TemporaryFile2020-06-02_14-56-57.datc18371c2-d39c-4588-9af0-93aa3e136b01Segments
这是怎么回事?请帮忙!
$LocalDwldPath = "T:\ICE_PROD_DATA_SOURCING\FILE_DOWNLOAD_PATH\TemporaryFile$($TimeinSec).dat"
$SourcePath = "Dataproviders/Landing/GCW/HPIndirect/Orders/AMS/gcw_hp_indirect_orders_ams_745_20200601_04_34_01.dat"
$PRODAdlsName = "itgdls01"
Export-AdlStoreItem -Account $PRODAdlsName -Path $("/" + $SourcePath.Trim()) -Destination $LocalDwldPath -Force -ErrorAction Stop
if( Test-Path $LocalDwldPath.Trim() )
{
Get-Content -Path $LocalDwldPath.Trim() -ReadCount 1000 |% { $FileCount += $_.Count }
Remove-Item $LocalDwldPath.Trim()
Set-Content -Path $cntCaptureFile -Value $FileCount
$TimeinSec = TimeStamp2
Add-Content -Value "$TimeinSec Log: Identified file for getting count is $($SourcePath.Trim()) and the count is $FileCount" -Path $logfile
}
else
{
$TimeinSec = TimeStamp2
Add-Content -Value "$TimeinSec Error: Identified file for getting count is $($SourcePath.Trim()) and the count capture failed as local file is not found!" -Path $logfile
}
答案 0 :(得分:0)
根据我的研究,如果您想使用PowerShell从蔚蓝数据湖中下载文件,我们可以使用PowerShell命令Export-AzDataLakeStoreItem
。
例如
Export-AzDataLakeStoreItem -Account <> -Path '/test/test.csv' -Destination 'D:\myDirectory\test.csv'
有关更多详细信息,请参阅document
答案 1 :(得分:0)
问题出在本地下载路径/目的地
("T:\ICE_PROD_DATA_SOURCING\FILE_DOWNLOAD_PATH\TemporaryFile$($TimeinSec).dat"
)。
T:\驱动器是作为Azure Fileshare连接的虚拟驱动器/网络驱动器。
我已将目标位置指向本地驱动器("F:\ICE_PROD_DATA_SOURCING\FILE_DOWNLOAD_PATH\TemporaryFile$($TimeinSec).dat"
,而不是T:\,并且工作正常。
令人惊讶的是,当Powershell无法将文件保存在指向azure文件共享的网络路径中时,它没有给出任何错误消息。