Search code examples
powershellazureazure-automation

Get-AzureStorageKey Error on Azure Automation


I'm configuring a Azure Automation Runbook with a "Classic RunAs Connection". After I select the Azure Subscription with this connection, I'm getting the storage key for one of my storage accounts, but the problem is that sometimes it works and sometimes it doesn't. Here is what I'm doing:

$ConnectionAssetName = "AzureClassicRunAsConnection" 
$Conn = Get-AutomationConnection -Name $ConnectionAssetName
$CertificateAssetName = $Conn.CertificateAssetName
$Cert = Get-AutomationCertificate -Name $CertificateAssetName 
Set-AzureSubscription -SubscriptionName $Conn.SubscriptionName -SubscriptionId $Conn.SubscriptionID -Certificate $AzureCert  
Select-AzureSubscription -SubscriptionId $Conn.SubscriptionID

$storageAccountKey = Get-AzureStorageKey -StorageAccountName "MyStorageAccountName" 

The transient error that occurs is:

Get-AzureStorageKey : An error occurred while sending the request.

At line:38 char:26

  • ... eAccountKey = Get-AzureStorageKey -StorageAccountName "MyStorageAccountName"

  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    • CategoryInfo : CloseError: (:) [Get-AzureStorageKey], HttpRequestException

    • FullyQualifiedErrorId :

Microsoft.WindowsAzure.Commands.ServiceManagement.StorageServices.GetAzureStorageKeyCommand

It works most of the time, but sometimes this exception is thrown.

Can somebody help me?

Thanks!


Solution

  • After some unsucessful testing, I decided to store the StorageKey inside an encrypted variable.

    I know that this is not the best solution, but I didn't find the problem. The original solution worked most of the time, but the exception thrown when the error occurs, didn't help me to find it.