BLOB Storing Aws提供程序
- 安装 ABP CLI, 如果你还没有安装.
- 在要添加 包的
.csproj
文件目录打开命令行. - 运行
Volo.Abp.BlobStoring.Aws
命令.
如果要手动安装,在你的项目中安装 Volo.Abp.BlobStoring.Aws
NuGet包然后将[DependsOn(typeof(AbpBlobStoringAwsModule))]
添加到项目内的类中.
示例: 配置为默认使用Aws存储提供程序
- AccessKeyId (string): AWS Access Key ID.
- SecretAccessKey (string): AWS Secret Access Key.
- UseTemporaryCredentials (bool): 使用临时凭证访问AWS服务,默认: .
- UseTemporaryFederatedCredentials (bool): 使用访问AWS服务, 默认:
false
. - ProfileName (string): 本地凭证配置文件名称.
- ProfilesLocation (string): 本地配置文件位置.
- Region (string): 服务的地区名称.
- Policy (string): JSON格式的IAM策略.
- DurationSeconds (int): 设置临时访问凭证的有效期,单位是s,最小为900,最大为129600.
- ContainerName (string): 你可以在Aws中指定容器名称. 如果没有指定它将使用
BlogContainerName
属性定义的BLOB容器的名称(请参阅). 请注意Aws有一些命名容器的规则,容器名称必须是有效的DNS名称,符合以下命名规则:- Bucket名称必须介于 3 到 63 个字符之间.
- Bucket名称只能由小写字母、数字、句点 (.) 和连字符 (-) 组成.
- Bucket名称不能是ip (例如, 192.168.5.4).
- Bucket名称不能以 xn— 开头, (对于2020年2月以后创建的 Bucket).
- Bucket名称在分区中必须唯一 .
- Bucket 与 Amazon S3 Transfer Acceleration 一起使用时名称中不能有句点 (.).
- CreateContainerIfNotExists (bool): 默认值为
false
, 如果Aws中不存在容器,AwsBlobProvider
将尝试创建它.
Aws BLOB提供程序组织BLOB名称并实现一些约定. 默认情况下BLOB的全名由以下规则确定:
- 如果当前租户为
null
(或容器禁用多租户 - 请参阅 了解如何禁用容器的多租户),则追加host
字符串. - 如果当前租户不为 ,则追加
tenants/<tenant-id>
字符串. - 追加 BLOB 名称.
AwsBlobProvider
是实现Aws BLOB存储提供程序的主要服务,如果你想要通过依赖注入覆盖/替换它(不要替换IBlobProvider
接口,而是替换AwsBlobProvider
类).IAwsBlobNameCalculator
服务用于计算文件路径. 默认实现是DefaultAwsBlobNameCalculator
. 如果你想自定义文件路径计算,可以替换/覆盖它.