如何将静态文件添加/上传到 Azure Blob 存储容器的特定路径

Posted

技术标签:

【中文标题】如何将静态文件添加/上传到 Azure Blob 存储容器的特定路径【英文标题】:How to add/upload the static files into specific path of the Azure Blob Storage Container 【发布时间】:2021-10-30 08:09:51 【问题描述】:

我开发了以下 PowerShell 脚本,用于在 Azure Blob 存储容器中创建文件夹。

Param(
  [Parameter(Mandatory = $True)]
  [string]
  $resourceGroupName,

  [Parameter(Mandatory = $True)]
  [string]
  $storageAccountName
)

$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName $storageAccountName
$ctx = $storageAccount.Context
$dirs = @('ABC', 'XYZ', 'ABC123', 'XYZ123')
$subdirs = @('Archive', 'Logs')
Foreach ($d in $dirs) 
  ForEach ($s in $subdirs) 
    New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $d/$s -Directory
  

我想将.xml 文件添加/上传到 Azure Blob 存储容器的特定文件夹路径 (ABC123/Logs)。

【问题讨论】:

请编辑您的问题并提供有关您在脚本中遇到的问题的详细信息。 【参考方案1】:

我已使用以下脚本通过 `New-AzDataLakeGen2Item cmdlet 将文件上传到目录。

参考文档:Upload a file to a directory

Param(
  [Parameter(Mandatory = $True)]
  [string]
  $resourceGroupName,

  [Parameter(Mandatory = $True)]
  [string]
  $storageAccountName,
   
  [Parameter(Mandatory = $True)]
  [string]
  $filesystemName,

  [Parameter(Mandatory = $True)]
  [string]
  $localSrcFilesPath
)

Write-Host "Starting to create the directory references...."

$storageAccount = Get-AzStorageAccount -ResourceGroupName $resourceGroupName -AccountName $storageAccountName

$ctx = $storageAccount.Context

$dirs = @('ABC', 'XYZ')
$subdirs = @('Archive', 'Logs')

Foreach ($d in $dirs) 

  ForEach ($s in $subdirs) 

    New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $d/$s -Directory

    $files= Get-ChildItem $localSrcFilesPath

    foreach($file in $files)

        $localSrcFile =  "$localSrcFilesPath\$file"
        $destPath = "$d/$s/$file"

        if("$d/$s" -eq 'ABC/Logs')

            Write-Host "Starting to upload file: "$destPath

            New-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $destPath -Source $localSrcFile -Force
            
            Write-Host "Completed to upload file:" $destPath "into Azure Storage Blob Container"

        
    

  


Write-Host "Completed to create the directory references"

【讨论】:

以上是关于如何将静态文件添加/上传到 Azure Blob 存储容器的特定路径的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure 逻辑应用添加或修改 blob 时如何获取上传文件的文件名?

如何向 Azure 存储 Blob 上传添加身份验证

如何将大文件上传到 Azure Blob 存储 (.NET Core)

如何通过 Apache Beam 将文件上传到 Azure blob 存储?

如何将 AppendBlob/大于 4mb 限制的文件上传到 Java 中的 Azure 存储/Blob?

Flutter AZURE BLOB IMAGE UPLOAD - 如何将使用移动相机拍摄的图像上传到 azure blob 存储