使用 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?

使用 PowerShell 生成 Azure 存储帐户 SAS 密钥

Azure Active Directory:使用 PowerShell 将服务主体添加到目录读取者角色