Ich versuche, den Azure-Speicher Get Container Properties REST API zu verwenden. Ich folge dem "Authentication for the Azure Storage Services", um einen Berechtigungs-Header für die Anfrage zu erstellen. Hier ist das PowerShell-Skript, das ich verwende.So erstellen Sie einen Autorisierungsheader für Azure-Speicher get container-Eigenschaft REST-API
$StorageAccount = "<Storage Account Name>"
$Key = "<Storage Account Key>"
$resource = "<Container Name>"
$sharedKey = [System.Convert]::FromBase64String($Key)
$date = [System.DateTime]::UtcNow.ToString("R")
$stringToSign = "GET`n`n`n`n`n`n`n`n`n`n`n`nx-ms-date:$date`nx-ms-version:2009-09-19`n/$StorageAccount/$resource`nrestype:container"
$hasher = New-Object System.Security.Cryptography.HMACSHA256
$hasher.Key = $sharedKey
$signedSignature = [System.Convert]::ToBase64String($hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($stringToSign)))
$authHeader = "SharedKey ${StorageAccount}:$signedSignature"
$headers = @{"x-ms-date"=$date
"x-ms-version"="2009-09-19"
"Authorization"=$authHeader}
$container = Invoke-RestMethod -method GET `
-Uri "https://$StorageAccount.blob.core.windows.net/$resource?restype=container" `
-Headers $headers
Aus dem obigen Skript, bekomme ich Authentifizierung fehlgeschlagen Fehler. Der Berechtigungsheader ist nicht korrekt gebildet.
Haben Sie eine Idee, wie Sie das beheben können?