跳转到内容

Cloud Storage

S3 兼容的对象存储,支持预签名 URL。

Kind描述
config.awsAWS 凭据和区域配置
cloudstorage.s3S3 存储桶连接
- name: aws_config
kind: config.aws
region: "us-east-1"
access_key_id_env: "AWS_ACCESS_KEY_ID"
secret_access_key_env: "AWS_SECRET_ACCESS_KEY"
字段类型必需描述
regionstring条件AWS 区域。除非设置了 region_env,否则必填
region_envstring条件持有区域值的环境变量名
access_key_id_envstring访问密钥的环境变量名
secret_access_key_envstring密钥的环境变量名

凭据从指定的环境变量加载。access_key_id_envsecret_access_key_env 都必须解析为非空值,静态凭据才会生效;否则使用 AWS SDK 默认凭据链(IAM 角色、实例配置文件等)。

请求由 AWS SDK 使用解析出的凭据以 AWS Signature Version 4 签名。无需任何签名配置。

当某个值在不同部署间有差异时,使用 _env 变体(region_env,以及下文的 bucket_env/endpoint_env)。变量名在启动时从环境注册表解析。 AWS 配置计划在未来版本中与其他 AWS 服务(SQS 等)共享。
- name: files
kind: cloudstorage.s3
bucket: "my-bucket"
config: app.infra:aws_config
字段类型必需描述
bucketstring条件S3 存储桶名称。除非设置了 bucket_env,否则必填
bucket_envstring条件持有存储桶名称的环境变量名
configreferenceAWS 配置 entry 引用
endpointstringS3 兼容服务的自定义端点
endpoint_envstring持有自定义端点的环境变量名

对于 MinIO 或其他 S3 兼容服务,设置自定义端点:

- name: local_storage
kind: cloudstorage.s3
bucket: "local-bucket"
config: app.infra:aws_config
endpoint: "http://localhost:9000"

提供端点时,会自动启用路径风格访问。

参见 Cloud Storage 模块 了解操作方法(list、upload、download、delete、预签名 URL)。