2017-09-25 9 views
0

"Classic RunAs Connection"でAzure Automation Runbookを設定しています。 この接続でAzureサブスクリプションを選択すると、自分のストレージアカウントのストレージキーを取得していますが、問題は時には機能しないことがあります。Azure AutomationでGet-AzureStorageKeyエラーが発生しました

$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" 

を発生する一時的なエラーがある:

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

それは、ほとんどの時間の作品が、時には、この例外がスローされますここで私がやっているものです。

誰かが私を助けることができますか?

ありがとうございます!

+0

あなたのストレージアカウントの種類を教えてください。 ASMまたはARM? –

+0

こんにちはジェイソン! ASMアカウント(クラシック)です。ありがとう –

答えて

0

いくつかのテストがうまくいっていないと、StorageKeyを暗号化された変数に格納することにしました。

私はこれが最良の解決策ではないことを知っていますが、問題は見つかりませんでした。 元の解決策はほとんどの場合有効でしたが、エラーが発生したときにスローされた例外は、それを見つけるのに役立ちませんでした。

0

RunAs接続を使用する必要があります - ClassicRunAsConnectionsはRDFE用で、KeyVaultコマンドレットはAzureRm資格情報を使用します。 RunAsの資格情報でサービスプリンシパルが提供され、KeyVault構成のKeyVaultにそのサービスプリンシパルのアクセスを提供する必要があります。

+0

こんにちはマーク! Get-AzureStorageKeyコマンドレットでKeyVaultが使用されていますか? ClassicRunAsConnectionは古典的なストレージアカウントを接続する正しい選択だと思っていましたが、私はあなたの助言に従い、 "AzureRunAsConnection"でいくつかのテストを行います。しかし、時にはうまくいくことがあり、時にはうまくいかないこともあるので、それは奇妙です。ありがとう –

+0

いいえ、これは厳密にGet-AzureKeyVaultSecret、またはGet-AzureKeyVaultKeyです。 Get-AzureStorageKeyはRDFEコマンドレットです –

関連する問題