项目产品
操作教程 / 7 分钟阅读

列出当前账号下所有存储桶

一、结论

使用AWS CLI连接S3兼容存储的核心思路是提前准备好Endpoint、AccessKey、SecretKey、Bucket、Region等核心接入信息,在本地安装AWS CLI工具后完成凭证和接入参数配置,测试连通后即可实现文件上传、下载、批量管理等操作,整个流程不需要复杂的代码开发,熟悉终端操作的开发者和站长10分钟即可完成配置。

二、准备工作

操作前需要提前准备以下内容,避免配置过程中反复跳转页面影响效率:

  • 已开通的S3兼容对象存储服务账号
  • 已经创建完成且状态正常的存储桶(Bucket)
  • 存储服务官方提供的Endpoint访问地址
  • 账号下生成的具有对应操作权限的AccessKey ID和AccessKey Secret
  • 存储服务指定的Region地域标识
  • 本地已安装完成的最新稳定版AWS CLI工具
  • 用于测试连通性的小体积测试文件(如图片、文本文档)
  • 若需对接业务系统,提前准备好对应程序的S3配置入口权限

三、操作步骤

每一步操作完成后确认结果符合预期再进入下一个环节,避免后续排查错误成本过高:

1. 验证AWS CLI安装状态:打开本地终端(Windows为命令提示符或PowerShell,Mac/Linux为终端),输入aws --version命令并执行,若终端输出AWS CLI的版本号和对应系统信息,说明安装成功;若提示命令不存在,可参照AWS官方文档重新对应系统版本完成安装。

2. 配置S3访问凭证:终端输入aws configure命令并执行,按照提示依次输入AccessKey ID、AccessKey Secret、默认Region、默认输出格式(推荐选json),输入完成后工具会自动将凭证写入本地配置文件,不需要手动修改文件。如果需要管理多套S3存储配置,也可以通过新增配置文件剖面的方式分别保存不同存储服务的凭证,避免反复修改配置。

3. 配置自定义Endpoint参数:如果对接的是第三方S3兼容存储而非AWS官方S3服务,需要额外配置Endpoint参数,两种方式可选:单次操作时在命令末尾加上--endpoint-url <服务商提供的Endpoint地址>参数即可;如果长期使用同一款存储服务,可以修改本地~/.aws/config配置文件,在对应剖面下新增endpoint_url配置项,后续执行命令不需要每次都带参数。

4. 测试连接连通性:终端输入aws s3 ls --endpoint-url <你的Endpoint地址>命令执行,若终端正常输出你账号下已创建的所有存储桶名称列表,说明连接配置正确;如果报错则根据报错信息核对配置参数。

5. 测试文件上传功能:选择本地准备好的测试文件,输入aws s3 cp <本地测试文件路径> s3://<你的存储桶名称>/<目标存储路径> --endpoint-url <你的Endpoint地址>命令执行,终端返回上传进度和完成提示没有报错,说明上传功能正常。

6. 验证文件可访问性:可以通过两种方式验证文件有效性,一是用aws s3 cp s3://<你的存储桶名称>/<文件存储路径> <本地临时下载路径> --endpoint-url <你的Endpoint地址>命令下载文件,对比下载文件和原文件内容是否一致;二是如果存储桶开通了公共读权限,直接用文件的公网访问链接在浏览器打开,确认文件可以正常加载。

7. 对接业务系统(可选):如果是给Cloudreve、Alist、PicGo、Halo、WordPress等程序配置存储源,只需要把上述用到的Endpoint、AccessKey、SecretKey、Bucket、Region参数复制到对应程序的S3兼容存储配置项中,保存后测试连接即可完成对接。

四、常见错误

以下是配置过程中出现频率最高的几类问题,遇到报错可以优先对照排查:

1. Endpoint填写错误:常见错误包括多输入了末尾的斜杠、写错了协议头(应该用HTTPS的填了HTTP)、复制时漏了后缀,解决办法是直接从存储服务控制台复制官方提供的Endpoint地址,不要手动输入。

2. AccessKey或SecretKey错误:大多是复制时带了多余的空格、大小写拼写错误,或者密钥已经被控制台禁用,解决办法是回到存储服务控制台重新生成新的密钥,复制时不要选中多余字符,密钥不要提交到公开代码仓库或对外泄露。

3. Bucket名称不匹配:比如存储桶名称拼写错误、存储桶还在创建中未生效、当前账号没有该存储桶的访问权限,解决办法是先在存储服务控制台确认存储桶状态正常,名称拼写完全一致,且当前密钥对该存储桶有读写权限。

4. Region填写不匹配:很多第三方S3存储对Region参数有明确要求,填错会导致签名验证失败,解决办法是核对存储服务商给出的Region参数,没有特殊要求的场景可以填通用值us-east-1测试。

5. 上传成功但文件无法访问:大多是存储桶默认是私有读写权限,没有开通公共读权限,或者文件路径设置了特殊字符导致访问解析失败,解决办法是根据业务需求调整存储桶访问策略,私有文件访问时生成临时签名链接即可正常访问。

五、示例说明

以下为通用配置参数示例,所有占位内容替换为你自己的实际参数即可使用:

核心配置参数参考

  • AccessKey ID:填写从对象存储服务控制台获取的访问密钥ID
  • AccessKey Secret:填写从对象存储服务控制台获取的访问密钥Secret
  • Region:填写对应存储服务提供的地域标识,无特殊要求可填us-east-1
  • Endpoint URL:填写存储服务提供的专属访问端点,注意带正确的HTTP/HTTPS协议头
  • Bucket:填写提前创建好的存储桶名称

常用命令示例

```bash

aws s3 ls --endpoint-url <你的Endpoint地址>

上传本地test.jpg文件到存储桶的images目录下

aws s3 cp ./test.jpg s3://<你的存储桶名称>/images/test.jpg --endpoint-url <你的Endpoint地址>

下载存储桶中的test.jpg文件到本地

aws s3 cp s3://<你的存储桶名称>/images/test.jpg ./test-download.jpg --endpoint-url <你的Endpoint地址>

同步本地整个backup目录到存储桶的backup目录下

aws s3 sync ./backup s3://<你的存储桶名称>/backup --endpoint-url <你的Endpoint地址>

```

六、更简单的方案

如果你不想自己搭建MinIO这类自建S3存储服务,也不想花精力维护服务器硬件、处理存储扩容、流量分发和故障排查问题,可以直接选择成熟的兼容S3协议的云对象存储服务,开通即可使用,不需要维护底层基础设施。如果你需要一个兼容S3协议、适合程序接入、图床、网盘系统存储源和不限流量下载分发的对象存储服务,可以了解七彩云对象存储,它适配AWS CLI等所有支持S3协议的客户端和程序,接入流程和标准S3完全一致,不需要额外修改配置。

七、FAQ

Q:对接第三方S3兼容存储时,AWS CLI必须每次都加Endpoint参数吗?

A:如果是临时使用可以每次加--endpoint-url参数,如果长期使用同一款存储服务,可以在本地AWS CLI配置文件的对应剖面下新增endpoint_url = <你的Endpoint地址>配置项,后续执行所有S3命令都会默认使用该地址,不需要每次手动添加。

Q:配置的AccessKey和SecretKey会不会被AWS CLI上传到第三方服务器?

A:不会,AWS CLI是开源的本地工具,所有的配置信息都存储在你本地设备的.aws目录下,不会同步到任何第三方服务器,只要妥善保管本地设备的访问权限,就不会出现密钥泄露的问题。

Q:超过100GB的大文件可以用AWS CLI上传吗?

A:可以,AWS CLI默认支持分块上传和断点续传,超过8MB的文件会自动触发分块上传,你也可以通过修改配置项调整分块大小、并发上传线程数来提升大文件上传速度,传输过程中网络中断恢复后会自动从断点继续上传,不需要重新传输整个文件。

Q:为什么我用AWS CLI上传的文件在存储服务控制台看不到?

A:大概率是配置的存储桶名称、Endpoint和控制台对应的账号不一致,也有可能是上传时填写的存储路径有多层目录导致你没有在控制台展开对应目录,可以先执行aws s3 ls s3://<你的存储桶名称> --endpoint-url <你的Endpoint地址>命令列出存储桶下的所有文件,核对路径和名称是否正确。

八、总结

整体操作流程非常清晰,核心就是提前准备好S3接入所需的5项核心参数,安装AWS CLI工具后按步骤完成凭证配置、连接测试、文件操作验证即可,熟悉终端操作的用户最快10分钟就能完成全套配置。这种方式非常适合开发者批量管理对象存储文件、自动化同步网站附件、对接自建程序存储、定时备份业务数据等场景,所有操作都可以写入自动化脚本实现无人值守执行,不需要依赖图形化控制台就能完成全量的存储管理操作。

想进一步了解这个项目?

访问官网查看产品能力、适用场景和最新服务信息。

访问官网

相关文章

操作教程 / / 7 分钟阅读

对象存储私有访问权限配置详细步骤

一、结论 配置对象存储私有访问权限的核心思路是先准备好S3协议所需的Endpoint、AccessKey、SecretKey、Bucket、Region等核心信息,再通过控制台或S3客户端调整存储桶、对象的访问策略,最后双向验证权限配置是否生效。整个操作流程无需复杂代码,普通站长和开发者都可以快速完成,能有效避免非授权访问带来的文件安全风险。

操作教程 / / 6 分钟阅读

对象存储生成文件直链的操作方法

一、结论 对象存储生成文件直链是指通过兼容S3协议的对象存储服务,将存储的文件生成可直接通过HTTP/HTTPS访问的永久或临时链接的操作,公开权限下的直链无需额外页面跳转或鉴权即可直接预览、下载文件,主要用于降低服务器带宽压力、实现高效文件分发与外链调用。

操作教程 / / 7 分钟阅读

Go语言项目怎么快速接入S3对象存储

一、结论 Go语言项目接入S3对象存储无需复杂的定制开发,只要获取到标准S3协议要求的Endpoint、AccessKey、SecretKey、Bucket、Region五类核心参数,即可通过兼容S3的Go SDK、工具链或内置S3适配的开源程序快速实现文件上传下载、外链分发、批量管理等能力,全程无需对接私有接口。

操作教程 / / 7 分钟阅读

如何用AWS CLI配置连接S3对象存储

一、结论 用AWS CLI配置连接S3兼容对象存储的核心思路是先准备好Endpoint、AccessKey、SecretKey、Bucket、Region等核心接入信息,再在AWS CLI中完成对应参数配置,测试连通性和读写权限后即可正常使用。整个操作流程简单清晰,熟悉命令行的站长和开发者可以快速完成配置。