【问题标题】:Powershell: Copy file from Azure File Share to Blob Storage accountPowershell:将文件从 Azure 文件共享复制到 Blob 存储帐户
【发布时间】:2021-02-22 06:48:31
【问题描述】:

我可以使用 AzCopy 将一些文件从 Azure 文件共享复制到 Blob 存储帐户。 但是,由于此代码需要在自动化 Runbook 中运行,我需要另一种解决方案。

我正在尝试使用 Start-AzStorageBlobCopy

$sourcePathWithSasToken = $AzSourceFileShareDirectory.CloudFileDirectory.Uri.AbsoluteUri + $SourceStorageAccountSasToken
$targetSaContextWithSasToken = New-AzStorageContext -StorageAccountName $targetSaName -SasToken $TargetStorageAccountSasToken

Start-AzStorageBlobCopy `
  -Context $SourceStorageAccountContext `
  -AbsoluteUri $sourcePathWithSasToken `
  -DestContext $targetSaContextWithSasToken `
  -DestContainer $targetContainerName `
  -DestBlob $fileName

但是,我得到:

警告:忽略不匹配的源存储上下文。源 uri 是 https://SOURCEaccountname.file.core.windows.net/ccbifilesyncshare1/?token,终点是 https://SOURCEaccountname.blob.core.windows.net/

或者这是不可能的? 根据微软文档,反过来,从 blob 到文件应该是可能的。但是,我真的找不到文件共享到 Blob 的示例。

如果我是正确的,Start-AzStorageFileCopy 肯定无法执行此操作。

提前致谢!!

【问题讨论】:

    标签: azure powershell copy azure-blob-storage


    【解决方案1】:

    好吧,突然之间,我的第 n 次尝试成功了!

    $targetSaContextWithSasToken = New-AzStorageContext -StorageAccountName $targetSaName -SasToken $TargetStorageAccountSasToken
    $srcFilePath = $shareFolder + "/" + $fileName
    
    Start-AzStorageBlobCopy `
      -Context $SourceStorageAccountContext `
      -SrcShareName $AzSourceFileShareName `
      -SrcFilePath $srcFilePath `
      -DestContext $targetSaContextWithSasToken `
      -DestContainer $targetContainerName `
      -DestBlob $fileName
    

    我删除了绝对 URI 并添加了共享名和文件路径。

    我之前尝试过,但使用了各种“错误”的文件路径。所以,它需要: 文件夹/文件名。

    【讨论】:

    • 很高兴知道您的问题已解决。 48 小时后,您可以接受它作为答案(单击答案旁边的复选标记将其从灰色切换为已填充)。这对其他社区成员可能是有益的。谢谢。
    猜你喜欢
    • 2022-11-11
    • 2022-01-07
    • 2021-03-09
    • 1970-01-01
    • 2019-08-12
    • 2021-07-29
    • 2020-08-25
    • 2017-04-11
    • 2016-05-29
    相关资源
    最近更新 更多