如何强制Azure存储帐户作为经典

问题描述 投票:6回答:4

我们最近使用Azure资源管理器和模板构建了基础架构和应用程序部署框架。要部署Cloud Service,首先需要设置Azure存储帐户。截至最近,这是通过运行:

Switch-AzureMode AzureResourceManager

New-AzureStorageAccount -ResourceGroupName $resourceGroupName -StorageAccountName $storageAccountName -Location $locationName -Type Standard_LRS

这将创建New-AzureDeployment cmdlet可用于部署的存储帐户。据我所知,创建的存储帐户将是现在在UI中标记为“经典”的存储帐户。但是,对于最近的更改,现在使用上面的脚本创建的存储帐户是非经典的(V2)。 New-AzureDeployment无法识别此V2存储帐户,并在Powershell脚本中将其抛出:

New-AzureDeployment:ResourceNotFound:找不到存储帐户“teststorage”。

如果我在UI中手动创建经典存储帐户,我可以将其用于我的部署,并且它可以正常工作。

那么可以执行以下操作之一:

  1. 通过Powershell强制将存储帐户创建为经典帐户?
  2. 指示New-AzureDeployment cmdlet通过Powershell使用V2存储帐户?
powershell azure storage azure-storage account
4个回答
5
投票

切换回asm模式(v1 api)并从那里创建存储帐户:

switch-azuremode -Name AzureServiceManagement

3
投票

您实际上可以使用ARM(Azure资源管理器)来创建“经典”(即旧门户)存储帐户。为此,将以下json添加到“资源”中,根据需要调整参数。这比@Trondh回答的优势在于,它将作为资源组的一部分进行配置。当您切换回ASM时,您的经典存储帐户将被添加到您无法移动的随机资源组中。

       {
            "name": "[concat(parameters('BuildStorageName'), 'classic')]",
            "type": "Microsoft.ClassicStorage/storageAccounts",
            "location": "[parameters('BuildStorageLocation')]",
            "apiVersion": "2015-06-01",
            "dependsOn": [ ],
            "properties": {
                "accountType": "[parameters('BuildStorageType')]"
            }
        }

1
投票

因为其他人可能会发现这对Azure资源管理器的更高版本有帮助(我的版本是1.0.4)....

在最新版本的AzureRM for PSVersion 5.0.10514.6中,可以通过powershell cmdlet完成此操作。

假设你有:

a)对Azure RM进行身份验证:Login-AzureRMAccount

b)已经创建了资源组:New-AzureRmResourceGroup -Name $ resourceGroupName -Location“South Central US”

然后,您可以执行以下操作来获取经典存储帐户:

New-AzureRmResource -ResourceName“” - ResourceGroupName $ resourceGroupName -ResourceType“Microsoft.ClassicStorage / StorageAccounts”-Location“South Central US”-Properties @ {AccountType =“Standard_LRS”} -ApiVersion“2015-06-01”


1
投票

杰森的答案绝对是最好的解决方案..

$resourceGroupName= "myrsgroupp"
$classicStorageName = "myclassicstoragename"
$location = "North Europe"
New-AzureRmResource -ResourceGroupName $resourceGroupName -ResourceName $classicStorageName -ResourceType "Microsoft.ClassicStorage/StorageAccounts" -Location $location -Properties @{AccountType="Standard_LRS"} -ApiVersion "2015-06-01" -Force
© www.soinside.com 2019 - 2024. All rights reserved.