gpt4 book ai didi

Azure New-AzureStorageBlobSasToken 返回的 fulluri 字符串不正确

转载 作者:行者123 更新时间:2023-12-03 04:41:50 25 4
gpt4 key购买 nike

我尝试使用 AzureRM PowerShell 模块在命令行为 Blob 容器(和子文件夹数据)生成新的 SAS token 。在门户中导航并为指定文件手动创建 SAS token 时,此过程有效,但在使用 PS 时失败

$SAResourceGroupName="someresourcegroupname"
$StorageAccountName="randomstorageaccountnamehere"

$StorageAccountKey = (Get-AzureRmStorageAccountKey -ResourceGroupName $SAResourceGroupName -AccountName $StorageAccountName).Value[1]
$Context=New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey

$tmpStart = Get-Date
$tmpEnd = $tmpStart.AddHours(0.5)

$Starttime = ($tmpStart).ToString("yyyy-MM-ddTHH:mm:ssZ")
$EndTime = ($tmpEnd).ToString("yyyy-MM-ddTHH:mm:ssZ")


$SASToken = New-AzureStorageBlobSASToken -Blob $StorageAccountName -Container "ContainerNameHere/ToolsSubFolder/randomfile.ZIP" -Context $Context -Permission r -StartTime $StartTime -ExpiryTime $EndTime -FullURI

生成的 SAS token 具有 $StorageAccountName 两次,并且格式是在 HTML 中完成的,因此 token 本身没有正确的字符。

(数据已清理)

PS C:\Users\lsierra> New-AzureStorageBlobSASToken -Container "ContainerNameHere/ToolsSubFolder/randomfile.ZIP" -Blob $StorageAccountName -Permission r -Context $Context -FullUri https://randomstorageaccountnamehere.blob.core.windows.net/ContainerNameHere/ToolsSubFolder/randomfile.ZIP/randomstorageaccountnamehere?sv=2017-07-29&sr=b&sig=kXzYwqW%2BjKH1BAXwsBovVzCbGY2XzLxUY BxKQNkeqns%3D&se=2018-11-02T18%3A02%3A02Z&sp=r

如果我导航到门户并手动生成新的 SAS token ,则 FullURI 在内容和格式上都是正确的。

PowerShell v5.1Windows 10

最佳答案

该问题是由您的最后一个命令引起的:

$SASToken = New-AzureStorageBlobSASToken -Blob $StorageAccountName -Container "ContainerNameHere/ToolsSubFolder/randomfile.ZIP" -Context $Context -Permission r -StartTime $StartTime -ExpiryTime $EndTime -FullURI

就您而言,应该是:

$SASToken = New-AzureStorageBlobSASToken -Blob "ToolsSubFolder/randomfile.ZIP" -Container "ContainerNameHere" -Context $Context -Permission r -StartTime $StartTime -ExpiryTime $EndTime -FullURI

所以你的完整 powershell 脚本将如下所示,只需尝试一下,它在我这边工作得很好。

$SAResourceGroupName="someresourcegroupname"
$StorageAccountName="randomstorageaccountnamehere"

$StorageAccountKey = (Get-AzureRmStorageAccountKey -ResourceGroupName $SAResourceGroupName -AccountName $StorageAccountName).Value[1]
$Context=New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey

$tmpStart = Get-Date
$tmpEnd = $tmpStart.AddHours(0.5)

$Starttime = ($tmpStart).ToString("yyyy-MM-ddTHH:mm:ssZ")
$EndTime = ($tmpEnd).ToString("yyyy-MM-ddTHH:mm:ssZ")

$SASToken = New-AzureStorageBlobSASToken -Blob "ToolsSubFolder/randomfile.ZIP" -Container "ContainerNameHere" -Context $Context -Permission r -StartTime $StartTime -ExpiryTime $EndTime -FullURI

我的测试样本:

enter image description here

有关 New-AzureStorageBlobSASToken 的使用的更多详细信息,请参阅此 link .

关于Azure New-AzureStorageBlobSasToken 返回的 fulluri 字符串不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53123160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com