项目

BLOB存储Bunny提供程序

BLOB存储Bunny提供程序可将BLOB文件存储至bunny.net云存储

请先阅读 BLOB存储文档 了解存储系统的使用方法。本文档仅介绍如何配置容器以使用Bunny作为存储提供程序。

安装指南

使用ABP CLI将Volo.Abp.BlobStoring.Bunny NuGet包添加到项目:

  • 若未安装请先安装 ABP CLI
  • 在需要添加该包的.csproj文件所在目录打开命令行(终端)
  • 执行命令:abp add-package Volo.Abp.BlobStoring.Bunny

如需手动安装,请将 Volo.Abp.BlobStoring.Bunny NuGet包添加到项目,并在ABP模块类中加入依赖声明:[DependsOn(typeof(AbpBlobStoringBunnyModule))](参见模块化基础)。

配置说明

在模块类的 ConfigureServices 方法中进行配置(参见 模块化基础),具体规范请参考 BLOB存储文档

示例:配置默认使用Bunny存储提供程序

Configure<AbpBlobStoringOptions>(options =>
{
    options.Containers.ConfigureDefault(container =>
    {
        container.UseBunny(Bunny =>
        {
            Bunny.AccessKey = "您的Bunny账户访问密钥";
            Bunny.Region = "主存储区域代码";  // 默认值为"de"
            Bunny.ContainerName = "您的Bunny存储区域名称";
            Bunny.CreateContainerIfNotExists = true;
        });
    });
});

关于为特定容器配置此提供程序的方法,请参阅 BLOB存储文档

配置参数

  • AccessKey (字符串):Bunny账户访问密钥。如何查找访问密钥?
  • Region (可空字符串):主存储区域代码(可选值:DE, NY, LA, SG)
  • ContainerName (字符串):可指定Bunny中的容器名称。若未指定,将使用通过 BlobContainerName 特性定义的BLOB容器名称(参见 BLOB存储文档)。请注意Bunny的容器命名规则
    • 存储区域名称必须全局唯一
    • 长度限制为4-64个字符
    • 仅允许使用小写字母、数字及连字符(-)
  • CreateContainerIfNotExists (布尔值):默认值为false。当Bunny中不存在对应容器时,BunnyBlobProvider将尝试创建

BLOB命名规范

Bunny BLOB提供程序通过特定规则组织BLOB名称。默认情况下,BLOB完整名称按以下规则生成:

  • 当前租户null(或容器已禁用多租户功能,参见 BLOB存储文档),添加host前缀
  • 若当前租户非空,添加tenants/<租户ID>前缀
  • 最后追加BLOB名称

相关服务

  • BunnyBlobProvider是实现Bunny存储的核心服务,可通过依赖注入进行覆盖(请替换BunnyBlobProvider类而非IBlobProvider接口)
  • IBunnyBlobNameCalculator用于计算BLOB完整名称(规则见上文),默认由DefaultBunnyBlobNameCalculator实现
  • IBunnyClientFactory默认由DefaultBunnyClientFactory实现,支持自定义实现替换
在本文档中