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名称的长度限制在3到63个字符之间
- 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客户端生成,可以替换/覆盖它.