如何用PowerShell无需下载读取ADLS Gen2及Blob文件内容
解决Blob存储内容读取及ADLS Gen2无下载读取CSV/文本问题
Blob存储读取文件内容(无需下载)
- 先确认已安装Az.Storage模块并完成Azure账号登录:
Install-Module -Name Az.Storage -Force Connect-AzAccount - 执行以下命令直接将Blob内容读取到内存(无需下载到本地):
# 替换为你的存储账户、容器和Blob信息 $storageAccountName = "your-storage-account" $containerName = "your-container" $blobName = "path/to/your/file.txt" $ctx = New-AzStorageContext -StorageAccountName $storageAccountName -UseConnectedAccount $blob = Get-AzBlob -Container $containerName -Blob $blobName -Context $ctx $content = $blob.ICloudBlob.OpenRead() | Get-Content -Raw # 输出读取到的内容 Write-Output $content - 注意:如果之前只能获取元数据,大概率是权限不足,需要拥有Storage Blob Data Reader及以上权限才能读取Blob内容。
ADLS Gen2无下载读取CSV/文本文件内容
使用Get-AzDataLakeGen2ItemContent命令可直接从ADLS Gen2读取文件内容到内存,无需下载:
- 先确保已安装Az.Storage模块并登录Azure:
Install-Module -Name Az.Storage -Force Connect-AzAccount - 读取普通文本文件:
# 替换为你的存储账户、文件系统和文件路径 $storageAccountName = "your-storage-account" $filesystemName = "your-filesystem" $itemPath = "path/to/your/file.txt" $ctx = New-AzStorageContext -StorageAccountName $storageAccountName -UseConnectedAccount Get-AzDataLakeGen2ItemContent -Context $ctx -FileSystem $filesystemName -Path $itemPath - 读取CSV文件并转换为可操作的对象:
$csvRawContent = Get-AzDataLakeGen2ItemContent -Context $ctx -FileSystem $filesystemName -Path "path/to/your/file.csv" -Raw $csvData = $csvRawContent | ConvertFrom-Csv # 查看转换后的CSV数据对象 $csvData
内容的提问来源于stack exchange,提问作者amit.k.maurya.16
相关产品推荐
相关产品推荐

