BLOB Storing Aliyun提供程序

    • 安装 , 如果你还没有安装.
    • 在要添加 包的 .csproj 文件目录打开命令行.
    • 运行 Volo.Abp.BlobStoring.Aliyun 命令.

    如果要手动安装,在你的项目中安装 Volo.Abp.BlobStoring.Aliyun NuGet包然后将[DependsOn(typeof(AbpBlobStoringAliyunModule))]添加到项目内的ABP模块类中.

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

    • AccessKeyId ([NotNull]string): 云账号AccessKey是访问阿里云API的密钥,具有该账户完全的权限,请你务必妥善保管!强烈建议遵循,使用RAM子用户AccessKey来进行API调用.
    • Endpoint ([NotNull]string): Endpoint表示OSS对外服务的访问域名. 访问域名和数据中心
    • UseSecurityTokenService (bool): 是否使用STS临时授权访问OSS,默认false.
    • RegionId (string): STS服务的接入地址,每个地址的功能都相同,请尽量在同地域进行调用. 接入地址
    • RoleArn ([NotNull]string): STS所需角色ARN.
    • RoleSessionName ([NotNull]string): 用来标识临时访问凭证的名称,建议使用不同的应用程序用户来区分.
    • Policy (string): 在扮演角色的时候额外添加的权限限制. 请参见.
    • DurationSeconds (int): 设置临时访问凭证的有效期,单位是s,最小为900,最大为3600.
    • ContainerName (string): 你可以在aliyun中指定容器名称. 如果没有指定它将使用 属性定义的BLOB容器的名称(请参阅BLOB存储文档). 请注意Aliyun有一些命名容器的规则,容器名称必须是有效的DNS名称,:
      • 只能包含小写字母,数字和短横线(-)
      • Bucket名称的长度限制在363个字符之间
    • CreateContainerIfNotExists (bool): 默认值为 false, 如果aliyun中不存在容器, AliyunBlobProvider 将尝试创建它.
    • TemporaryCredentialsCacheKey (bool): STS凭证缓存Key,默认Guid.NewGuid().ToString(“N”).

    Aliyun BLOB提供程序组织BLOB名称并实现一些约定. 默认情况下BLOB的全名由以下规则确定:

    • 如果当前租户为 null(或容器禁用多租户 - 请参阅BLOB存储文档 了解如何禁用容器的多租户),则追加 host 字符串.
    • 如果当前租户不为 null,则追加 字符串.
    • 追加 BLOB 名称.
    • AliyunBlobProvider 是实现Aliyun BLOB存储提供程序的主要服务,如果你想要通过覆盖/替换它(不要替换 IBlobProvider 接口,而是替换 AliyunBlobProvider 类).
    • IAliyunBlobNameCalculator 服务用于计算文件路径. 默认实现是 DefaultAliyunBlobNameCalculator. 如果你想自定义文件路径计算,可以替换/覆盖它.
    • 服务用于生成OSS客户端. 默认实现是 DefaultOssClientFactory . 如果你想自定义OSS客户端生成,可以替换/覆盖它.