使用 powershell 将两个 azure blob 合并为单个 blob
Posted
技术标签:
【中文标题】使用 powershell 将两个 azure blob 合并为单个 blob【英文标题】:Merging two azure blobs to single blob using powershell 【发布时间】:2021-11-27 05:40:05 【问题描述】:在 azure 容器中,有多个具有相同名称但扩展名不同的 blob(例如:file_01.txt、file_02.txt、file_03.txt)。 谁能告诉如何将这 3 个文件内容连接到单个文件内容(例如:- All_files.txt)并使用 azure powershell 脚本将其放在同一个容器中。
【问题讨论】:
【参考方案1】:根据您的要求,我们创建了一个 PowerShell 脚本,用于将 blob 从您的存储帐户下载到本地,并将合并 blob 并上传回不同的容器。
这是 PowerShell 脚本:
$storagecontext = New-AzStorageContext -StorageAccountName '<storageaccoutName>' -StorageAccountKey '<storageAccountKey>'
$storagelist= Get-AzStorageBlob -Container '<containerName>' -Context $storagecontext
$storagearray =$storagelist
foreach($storagelist in $storagearray)
Get-AzStorageBlobContent -Container testblob -Blob $storagelist.Name -Context $storagecontext -Destination C:\Users\Downloads\
$name = $storagelist.Name
Get-Content C:\Users\Downloads\$($name) | Add-Content C:\Users\Downloads\Allfile.txt
az storage blob upload --container-name '<newUplodingContainerName>' -f 'C:\Users\Downloads\Allfile.txt' -n 'allfile.txt' --account-name '<storageAccountName>' --account-key '<storageAccountKey>'
这是上述 PowerShell 脚本的参考输出:
【讨论】:
谢谢文卡特什多达。这个逻辑运行良好。以上是关于使用 powershell 将两个 azure blob 合并为单个 blob的主要内容,如果未能解决你的问题,请参考以下文章
使用 Powershell 从 Azure 存储子容器中删除所有文件
将 Azure Powershell 命令转换为 Azure CLI
使用 Powershell 将 Azure 数据库备份到 blob
如何使用 Azure Devops 将 powershell 列表变量传输到 terraform?