我正在使用C# management API of Azure在云端创建资源。我被困在blob存储中创建一个容器。我确实在these instructions之后创建了一个存储帐户:
new_str="My name is 67776. My user name is Souravc. 67776 and Souravc is great person"
但我不知道该怎么做。从Microsoft documentation我似乎必须检索// storageAccount here is a Microsoft.Azure.Management.Storage.Fluent.IStorageAccount instance
var storageAccount = _azure.StorageAccounts
.Define(name)
.WithRegion(region)
.WithExistingResourceGroup(resourceGroup)
.WithBlobEncryption()
.WithOnlyHttpsTraffic()
.WithBlobStorageAccountKind()
.WithAccessTier(AccessTier.Hot)
.Create();
实例,但我使用上面代码获得的Microsoft.WindowsAzure.Storage.CloudStorageAccount
实例存在于命名空间storageAccount
中,而我还没有找到了从那里获得Microsoft.Azure.Management.Storage.Fluent
的任何方法。
是否可以直接使用fluent命名空间中的API创建容器?如果没有,我如何从我的CloudStorageAccount
实体获取CloudStorageAccount
个实例?
This answer in SO没有帮助,因为它确实直接使用IStorageAccount
命名空间。
答案 0 :(得分:5)
是否可以直接使用API创建容器 流利的命名空间?如果没有,我如何获得CloudStorageAccount 来自我的IStorageAccount的实例?
至少截至今天,这是不可能的。在Azure中管理存储帐户时,有两个REST API - Storage Resource Provider REST API
和Storage Service REST API
。前者处理存储帐户本身的管理(如创建/更新等),而后者处理存储帐户中的数据。您可以说前API处理控制平面,后者处理数据计划。创建blob容器属于后一类。
Fluent API
是Storage Resource Provider API
的包装器,而Microsoft.WindowsAzure.Storage
库是Storage Service REST API
的包装器。您需要在项目中引用此库以创建blob容器。
您可以使用Fluent API获取访问密钥(密钥1或密钥2)。获得密钥后,您将使用Microsoft.WindowsAzure.Storage库创建CloudStorageAccount
实例,并使用该库创建一个blob容器。我知道这不是你正在寻找的答案,但不幸的是,这是今天唯一的方式。
答案 1 :(得分:0)
这现在可以通过Fluent API实现。使用您的StorageAccount
,您可以执行以下操作:
storageAccount.Manager.BlobContainers.DefineContainer(containerName)
.WithExistingBlobService(resourceGroupName, storageAccountName)
.WithPublicAccess(PublicAccess.None)
.CreateAsync();