代码之家  ›  专栏  ›  技术社区  ›  joanlofe

使用fluent API在c#中创建blob存储容器

  •  6
  • joanlofe  · 技术社区  · 7 年前

    我正在使用 C# management API of Azure 在云中创建我的资源。我在blob存储中创建容器时遇到了困难。我确实创建了一个存储帐户 these instructions :

    // 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 documentation 看来我得找回一个 Microsoft.WindowsAzure.Storage.CloudStorageAccount 实例,但 storageAccount 使用上述代码获得的实例位于命名空间中 Microsoft.Azure.Management.Storage.Fluent ,我还没有找到任何方法 CloudStorageAccount 从那里开始。

    是否可以在fluent名称空间中直接使用API创建容器?如果没有,我如何获得 CloudStorageAccount 来自my的实例 IStorageAccount

    This answer in SO 没有帮助,因为它确实使用 Microsoft.WindowsAzure 直接使用命名空间。

    2 回复  |  直到 7 年前
        1
  •  6
  •   Gaurav Mantri    7 年前

    是否可以使用中的API直接创建容器 fluent命名空间?如果没有,如何获取CloudStorageAccount 我的IStorageAccount one中的实例?

    至少在今天,这是不可能的。在Azure中管理存储帐户时,有两个REST API- Storage Resource Provider REST API Storage Service REST API . 前者处理存储帐户本身的管理(如创建/更新等),而后者处理存储帐户中的数据。可以说,前者处理控制平面,后者处理数据计划。blob容器的创建属于后一类。

    Fluent API 你提到的是包装 Storage Resource Provider API 虽然 Microsoft.WindowsAzure.Storage 库是一个包装器 存储服务REST API . 您需要在项目中引用此库来创建blob容器。

    您可以使用Fluent API获取访问密钥(密钥1或密钥2)。获得密钥后,将创建 CloudStorageAccount 使用Microsoft。WindowsAzure。并使用该库创建blob容器。我知道这不是你想要的答案,但不幸的是,这是目前为止唯一的办法。

        2
  •  1
  •   Ticker23    4 年前

    这现在可以通过Fluent API实现。使用 StorageAccount ,您可以执行以下操作:

    storageAccount.Manager.BlobContainers.DefineContainer(containerName)
    .WithExistingBlobService(resourceGroupName, storageAccountName)
    .WithPublicAccess(PublicAccess.None)
    .CreateAsync();