【发布时间】:2021-09-19 12:03:27
【问题描述】:
我正在尝试从 azure 自动化帐户运行 powershell 脚本,以列出存储帐户中的 blob。此存储帐户仅具有选定网络的网络规则,尝试在脚本中提供访问密钥和 SAS,但我仍然看到 403 错误。如何运行我的脚本并列出具有网络限制的 blob?
$StorageAccountName = 'xyz'
$key = get-azstorageaccountkey -storageaccountname $StorageAccountName -resourcegroupname "xxxxxx"
$StorageAccountKeyPrimary = $key[0].value
$ContainerName = 'xxx'
$StorageContext = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKeyPrimary
$Blobs = Get-AzStorageBlob -Container $ContainerName -Context $StorageContext | Where-Object{$_.LastModified.Date -lt (Get-Date).AddDays(-30)}
$Blobs | ft -property name, LastModified
$totalblobs = $Blobs.Count
Write-Output "Total blobs in container = $totalblobs"
【问题讨论】:
-
403 是被禁止的,所以它更可能是 SAS 问题而不是网络问题。
-
我尝试添加 SAS 而不是主键,仍然是同样的问题。
-
您是否尝试过通过 Azure 存储资源管理器连接 SAS?众所周知,SAS 密钥很难使用。有时您需要对它们进行 URL 编码,并且需要使用正确的段
标签: azure powershell azure-blob-storage azure-automation