推介码
点击上方图标使用推介码注册,可以享受200美金的试用额度!(60天~)
什么是Spaces?
根据官方的解释:
Spaces Object Storage is an S3-compatible service for storing and serving large amounts of data. The built-in Spaces CDN minimizes page load times, improves performance, and reduces bandwidth and infrastructure costs.
Spaces 对象存储是一项兼容 S3 的服务,用于存储和提供海量数据。内置的 Spaces CDN 可最大限度地缩短页面加载时间,提升性能,并降低带宽和基础设施成本。
注册并确认账户
在使用上方推介码完成注册后并绑定支付宝或支付方式之后之后,请检查账户Billing是否有额度。
如上图所示,如果你是学生并完成了GitHub学生认证,可以前往 https://www.digitalocean.com/github-students 领取一年的200美金额度。
Billing 链接: https://cloud.digitalocean.com/account/billing
开始订阅OSS
Spaces 采用订阅制度,一个月仅需5美金(优先从Credits扣款),套餐包含250G存储和1000G流量。
访问 https://cloud.digitalocean.com/spaces 开始创建。
进入页面后,点击Create a Spaces Bucket
建议选择Standard Storage,赠送CloudFlare CDN Business。速度如下:
在最下面可以自定义桶名完成创建!
点击Subscribe & Create Bucket
使用OSS
创建完 Spaces 后,即可开始上传和管理文件。
获取 Access Key
访问:
https://cloud.digitalocean.com/spaces/access_keys
点击 Generate New Key
创建后会得到:
Access Key
Secret KeySecret Key 只显示一次,请妥善保存。
使用 AWS CLI
Spaces 兼容 S3,可以直接使用 AWS CLI 管理。
安装 AWS CLI
# Ubuntu / Debian
apt install awscli -y
# macOS
brew install awscli配置 AWS CLI
aws configure填写:
AWS Access Key ID: 你的AccessKey
AWS Secret Access Key: 你的SecretKey
Default region name:
Default output format:连接 Spaces
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3 ls s3://你的桶名上传文件
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3 cp test.zip s3://你的桶名/test.zip上传目录
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3 cp ./files s3://你的桶名/files/ --recursive上传并设为公开
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3 cp ./files s3://你的桶名/files/ --recursive --acl public-read批量修改权限
设为公开
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3 cp s3://你的桶名 s3://你的桶名 --recursive --acl public-read设为私有
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3 cp s3://你的桶名 s3://你的桶名 --recursive --acl private设置公开访问(Bucket Policy)
创建 public.json:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::你的桶名/*"]
}
]
}应用:
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3api put-bucket-policy \
--bucket 你的桶名 \
--policy file://public.json关闭公开访问
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3api delete-bucket-policy \
--bucket 你的桶名重置所有文件为私有
aws --endpoint-url https://sfo3.digitaloceanspaces.com \
s3 cp s3://你的桶名 s3://你的桶名 --recursive --acl privateARN 说明
arn:aws:s3:::你的桶名/*表示该桶内所有对象。
结语
DigitalOcean Spaces 本质上就是一个简单好用的 S3 兼容对象存储,配合自带 CDN,可以很轻松地完成文件分发、静态资源托管等需求。整体上手成本不高,适合个人项目或中小规模使用。
在实际使用过程中,重点关注两点即可:
- 使用 AWS CLI 可以大幅提高效率
- 权限问题始终围绕 ACL 和 Bucket Policy
当你熟悉这些基础操作后,后续无论是接入 CDN、自定义域名,还是做下载站、资源分发,都可以很顺利地扩展。
到这里,一个基础可用的 OSS 环境就已经搭建完成了。



