无法将磁盘快照复制到 Azure Blob 存储“CannotVerifyCopySource”错误

问题描述 投票:0回答:1

我尝试将快照复制到 Azure 上的 BLOB 容器中,但收到此错误

CannotVerifyCopySource

留言

服务器无法验证请求。请参阅 www-authenticate 标头中的信息。

我根据我找到的文章尝试了这里

我有相同的代码,但仍然收到此错误。我的存储网络也将我的 IP 列入了防火墙白名单。

这是我的 PowerShell 脚本:

$resourceGroupName = 'RG_DISKS'
$snapshotName = 'DATADISK1'
$resourceGroupNameStorageAccount = 'RG_DISKS'
$storageAccountName = 'STR_001'
$storageContainerName = 'STR_001_DISK1'
$destinationVHDFileName = 'DATADISK1_vhd'

$storageAccountKey = Get-AzStorageAccountKey -resourceGroupName $resourceGroupNameStorageAccount -AccountName $storageAccountName
$sas = Grant-AzSnapshotAccess -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName  -DurationInSecond 3600 -Access Read

$destinationContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey ($storageAccountKey).Value[0]


Start-AzStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer $storageContainerName -DestContext $destinationContext -DestBlob $destinationVHDFileName

我在这里缺少什么吗?

azure powershell azure-storage azure-powershell snapshot
1个回答
0
投票
Server failed to authenticate the request. Please refer to the information in the www-authenticate header.

上述错误消息“服务器无法对请求进行身份验证。www-authenticate 标头通常表示对 Azure 存储服务的请求未经过正确身份验证。

要解决此问题,请确保将 SAS 有效性设置为更长的值,例如 86400 秒。这将生成一个 24 小时有效的 SAS

检查存储帐户和容器是否存在,以及您是否具有写入容器的正确权限。

检查存储帐户网络防火墙是否配置为允许来自公共 IP 地址的流量或启用来自所有网络的流量。

这里是 PowerShell 脚本,用于将快照下载到

Azure blob

    $resourceGroupName = 'RG-Name'
    $snapshotName = 'venkat-snapshot'
    $resourceGroupNameStorageAccount = 'RG-Name'
    $storageAccountName = 'venkatstoarage'
    $storageContainerName = 'snapshot'
    $destinationVHDFileName = 'DATADISK1_vhd'
    
    $storageAccountKey = Get-AzStorageAccountKey -resourceGroupName $resourceGroupNameStorageAccount -AccountName $storageAccountName
    $sas = Grant-AzSnapshotAccess -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName  -DurationInSecond 86400 -Access Read
    $destinationContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey ($storageAccountKey).Value[0]
    Start-AzStorageBlobCopy -AbsoluteUri $sas.AccessSAS -DestContainer $storageContainerName -DestContext $destinationContext -DestBlob $destinationVHDFileName

storageAccountKey 权限

enter image description here

运行代码后,快照已开始复制到

Blob container

enter image description here

参考Azure Blob 存储无法进行身份验证:“确保授权标头的值格式正确,包括签名

AzureStorage Blob 服务器无法对请求进行身份验证。

© www.soinside.com 2019 - 2024. All rights reserved.