我正在尝试在asp.net MVC应用程序中从c#创建存储但是它会抛出我的错误帐户类型StandardLRS无效,如下所示
以下是我用于创作的代码
string token = GetAccessToken("sub id", "app name", "tenant id");
var Credentials = new TokenCredentials(token);
var resourceManagementClient = new ResourceManagementClient(Credentials);
resourceManagementClient.SubscriptionId = "sub id";
var storageProvider = resourceManagementClient.Providers.Register("Microsoft.Storage");
var storageManagementClient = new StorageManagementClient(Credentials);
storageManagementClient.SubscriptionId = "sub id";
string rgName = "TimedCloudRG" + location.Trim().Replace(" ", string.Empty);
var resourceGroup = new Microsoft.Azure.Management.Resources.Models.ResourceGroup
{
Location = location
};
var rgResult = resourceManagementClient.ResourceGroups.CreateOrUpdate(rgName, resourceGroup);
Microsoft.Azure.Management.Storage.Models.Sku DefaultSku = new Microsoft.Azure.Management.Storage.Models.Sku(Microsoft.Azure.Management.Storage.Models.SkuName.StandardLRS);
Microsoft.Azure.Management.Storage.Models.Kind DefaultKind = Microsoft.Azure.Management.Storage.Models.Kind.Storage;
Microsoft.Azure.Management.Storage.Models.StorageAccountCreateParameters parameters = new Microsoft.Azure.Management.Storage.Models.StorageAccountCreateParameters()
{
Kind = DefaultKind,
Sku = DefaultSku,
Location = rgResult.Location
};
string stAccName = "TCStorageAccount"+Guid.NewGuid().ToString().Substring(0, 8);
var storageAccount = await storageManagementClient.StorageAccounts.CreateAsync(rgName, stAccName, parameters);
令人惊讶的是,当我在控制台应用程序上运行它时它工作正常。我还尝试安装Microsoft.Azure.Management.Storage.Fluent包,但无法安装,因为我的项目.net框架被选为4.5.1,并且该版本不支持此软件包。
非常感谢任何帮助。谢谢
答案 0 :(得分:2)
根据您的说明,我利用支持.NETFramework 4.5
的{{3}}来检查此问题。我将Location
指定为West US
,我可以创建我的存储帐户。
string stAccName =" TCStorageAccount" + Guid.NewGuid()。ToString()。Substring(0,8);
AFAIK,您的帐户名称不是有效的存储帐户名称。存储帐户名称的长度必须为 3到24个字符,仅使用数字和小写字母。
我尝试在Azure Portal上创建存储帐户,并意外地发现了以下结果:
Microsoft.Azure.Management.Storage 6.2.0-preview
由于数据治理要求,某些应用程序仅限于在一个国家/地区内复制数据。配对区域可能在另一个国家。有关区域对的更多信息,请参阅Locally redundant storage。
此外,您可以使用支持.NETFramework 4.5
的{{3}}。
<强>更新强>
我创建了一个示例Azure regions,并在Microsoft.Azure.Management.Storage.Fluent 1.0.0下定义了用于创建存储帐户的CreateAzureStorageAccount
操作。这是测试结果,你可以参考如下:
答案 1 :(得分:0)
我遇到了类似的问题,直接调用REST API。我错过了Standard和LRS之间的下划线。必须完全按照ARM模板中的说明指定AccountType,在这种情况下为Standard_LRS或Standard_GRS。