无法在Azure C#创建存储帐户
我想创建从C#在asp.net MVC应用程序中的存储,但它抛出我的错误帐户类型StandardLRS是无效的,因为你可以看到下面无法在Azure C#创建存储帐户
下面是我使用创造
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,并且此软件包不支持该版本。
任何帮助将不胜感激。由于
根据你的描述,我利用Microsoft.Azure.Management.Storage 6.2.0-preview支持.NETFramework 4.5
来检查这个问题。我指定Location
为West US
,我可以创建我的存储帐户。
string stAccName =“TCStorageAccount”+ Guid.NewGuid()。ToString()。Substring(0,8);
AFAIK,您的帐户名称不是有效的存储帐户名称。存储账户名称必须和字符的长度和使用数字和小写字母之间只有3 24。
我试图在Azure门户创建存储帐户,并意外地发现了以下结果:
由于Locally redundant storage提到如下:
一些应用仅限于中复制数据由于数据治理要求而成为一个国家。配对区域可能在另一个国家。有关区域对的更多信息,请参阅Azure regions。
此外,您可以使用支持.NETFramework 4.5
的Microsoft.Azure.Management.Storage.Fluent 1.0.0。
UPDATE:
我创建了一个示例AspDotNet-MVC-CreateAzureStorageAccount和定义的CreateAzureStorageAccount
行动HomeController.cs下创建存储帐户。下面是测试结果,你可以把它称为如下:
非常感谢您的回复。我从版本5.2.0预览升级DLL Microsoft.Azure.Management.Storage到6.5.0预览和我也有我的升级代码,并根据你的建议,我已经铸成以小写存储帐户名,但现在我有仍然是相同的例外。我曾尝试使用相同的位置,但它仍然给我同样的错误,即帐户类型无效。即使我试图与所有帐户类型,如standardGRS等,但仍然是相同的异常。 –
您创建存储帐户的位置是什么?您是否尝试在Azure Portal上创建存储帐户以缩小此问题的范围? –
我可以在门户网站上使用standardLRS在门户网站上创建存储帐户,而不会出现任何问题,但无法使用c#代码在美国西部,澳大利亚东部创建存储帐户。 –