在powershell中,我通过调用上下文来验证它是否存在。
var $document = document.querySelector("body");
document.addEventListener('load', function(evt) {
var $script = document.querySelector("script[src='myResource.js']");
if (!evt.target.isEqualNode($script) {
return;
}
// Callback code
}, true);
结果
New-AzureStorageContext -StorageAccountName "testdisks401" -StorageAccountKey "...."
当我尝试在此设置时:
StorageAccountName : testdisks401
BlobEndPoint : https://testdisks401.blob.core.windows.net/
TableEndPoint : https://testdisks401.table.core.windows.net/
QueueEndPoint : https://testdisks401.queue.core.windows.net/
FileEndPoint : https://testdisks401.file.core.windows.net/
Context : Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageContext
Name :
StorageAccount : BlobEndpoint=https://testdisks401.blob.core.windows.net/;QueueEndpoint=https://testdisks401.queue.core.windows.net/;TableEndpoint=https://testdi
sks401.table.core.windows.net/;FileEndpoint=https://testdisks401.file.core.windows.net/;AccountName=testdisks401;AccountKey=[key hidden]
EndPointSuffix : core.windows.net/
我明白了
Set-AzureSubscription -SubscriptionName 'XXXX' -CurrentStorageAccount "testdisks401"
被困了很长一段时间。我基本上想编写一个shellcript来从现有的操作系统光盘创建一个VM。我设法使用powershell创建现有光盘的副本(使用第一个命令的上下文使其工作)。但现在我正在尝试使用以下方法创建VM配置:
Set-AzureSubscription : ResourceNotFound: The storage account 'testdisks401' was not found.
At line:1 char:1
+ Set-AzureSubscription -SubscriptionName 'XXX
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Set-AzureSubscription], CloudException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.Profile.SetAzureSubscriptionCommand
我收到此错误:
$vmI1 = New-AzureVMConfig -Name "TestRecover" -InstanceSize Small -AvailabilitySetName 'RDGW' -DiskName 'MY-OS-Disk-Name'
已经为此提供了solution,这使我来到这里(卡在缺少的存储帐户错误上)。
答案 0 :(得分:7)
Set-AzureSubscription
Cmdlet希望通过-CurrentStorageAccount
参数指定的存储帐户成为经典存储帐户。
请确保您指定的是经典存储帐户的名称,而不是资源管理器存储帐户的名称。
答案 1 :(得分:1)
如果您需要使用ARM创建存储帐户,则可以使用以下命令:
$SubscriptionName = "MySubscription"
$StorageAccountName = "MyStorage"
$ResourceGroup = "MyResourceGroup"
Get-AzureRmSubscription –SubscriptionName $SubscriptionName | Select-AzureRmSubscription
Get-AzureRmStorageAccount -AccountName $StorageAccountName -ResourceGroupName $ResourceGroup
$key = (Get-AzureRmStorageAccountKey -AccountName $StorageAccountName -ResourceGroupName $ResourceGroup).Key1
$Ctx = New-AzureStorageContext –StorageAccountName $StorageAccountName -StorageAccountKey $key
答案 2 :(得分:1)
您是如何创建该存储帐户的?
如果您将其创建为RM帐户,可以解释您遇到的错误。 Antohter选项是testdisks401与您尝试设置的订阅相同。
尝试执行以下操作:
Set-AzureSubscription -SubscriptionName 'XXXX'
Get-AzureStorageAccount | ft StorageAccountName
这将为您提供XXXX订阅中的经典存储帐户(非RM)列表。
然后为这样的RM帐户做同样的事情:
Login-AzureRmAccount -SubscriptionName 'XXXX'
Get-AzureRMStorageAccount | ft StorageAccountName
如果testdisks401帐户位于RM列表中,则您需要切换到RM模型,或者需要使用经典模型创建新的存储帐户。
编辑: 忘记提到新的azurestoragecontext,没有验证任何东西。尝试运行以下内容:
New-AzureStorageContext -StorageAccountName "bla" -StorageAccountKey "askjlksdfjldskgfjflkjdsflksj"
它还会为你提供一个很好的上下文对象:
StorageAccountName : bla
BlobEndPoint : https://bla.blob.core.windows.net/
TableEndPoint : https://bla.table.core.windows.net/
QueueEndPoint : https://bla.queue.core.windows.net/
FileEndPoint : https://bla.file.core.windows.net/
Context : Microsoft.WindowsAzure.Commands.Common.Storage.AzureStorageC
Name :
StorageAccount : BlobEndpoint=https://bla.blob.core.windows.net/;QueueEndpoin
EndPointSuffix : core.windows.net/