AWS S3上传下载

目录

[1. 本地(Ubuntu)安装AWS客户端工具](#1. 本地(Ubuntu)安装AWS客户端工具)

[1.1 检查Python依赖](#1.1 检查Python依赖)

[1.2. 使用pip安装AWS CLI:](#1.2. 使用pip安装AWS CLI:)

[1.3. 检查文件版本](#1.3. 检查文件版本)

[2. 配置AWS client](#2. 配置AWS client)

[3. 上传下载](#3. 上传下载)

[3.1. 上传](#3.1. 上传)

[3.2. 下载](#3.2. 下载)

[3.3. 查看目标目录的文件(文件夹)数量](#3.3. 查看目标目录的文件(文件夹)数量)

[4. 参考文章](#4. 参考文章)


1. 本地(Ubuntu)安装AWS客户端工具

在Ubuntu中安装AWS CLI (Command Line Interface),可以按照以下步骤进行:

1.1 检查Python依赖

首先,你需要确保已经安装了 Python 和 pip,因为AWS CLI需要它们。可以在终端中使用以下命令检查你是否已经安装它们:

bash 复制代码
python --version
pip --version

如果没有安装,你可以使用下列命令进行安装:

bash 复制代码
sudo apt-get update
sudo apt-get install python3-pip

1.2. 使用pip安装AWS CLI:

bash 复制代码
pip install awscli --upgrade --user

1.3. 检查文件版本

确认AWS CLI是否正确安装和运行。在终端中输入下面的命令:

bash 复制代码
aws --version

2. 配置AWS client

如果AWS CLI正确安装,你将看到一些版本信息。之后,你需要使用AWS的访问密钥和访问密钥ID配置AWS CLI,使用如下命令进行配置:

bash 复制代码
aws configure

然后,按照提示输入你的AWS访问密钥ID,访问密钥,默认的AWS区域以及默认的输出格式。进行这些设置后,你便可以开始使用AWS CLI了。整个配置过程可能看起来如下所示:

bash 复制代码
AWS Access Key ID [None]: YOUR_ACCESS_KEY
AWS Secret Access Key [None]: YOUR_SECRET_KEY
Default region name [None]: YOUR_PREFERRED_REGION
Default output format [None]: json

请将它们替换为你自己的AWS密钥,区域,和输出格式。

3. 上传下载

3.1. 上传

bash 复制代码
# 进入目标目录
cd $your_attachment_location_path

# 将当前目录下的内容上传到目标目录(会忽略目录下的文件)
aws s3 cp ./ s3://${your_bucket_name}/${sub_path}

# 将当前目录下的内容上传到目标目录(包含目录下的文件,迭代上传)
aws s3 cp ./ s3://${your_bucket_name}/${sub_path} --recursive

# 将当前目录下的内容上传到目标目录(包含目录下的文件,迭代上传),除开special文件(目录也是一样)
aws s3 cp ./ s3://${your_bucket_name}/${sub_path} --recursive --exclude "specical/*"

3.2. 下载

bash 复制代码
# 进入目标目录
cd $your_attachment_location_path

# 下载(若要特定目录,只需要将./改成${target_download_directory})
aws s3 cp s3://${your_bucket_name}/${sub_path} ./

# 下载特定前缀(001abc...)的文件
aws s3 sync s3://${your_bucket_name}/${sub_path} ./ --exclude "*" --include "001abc*/*"

注意:

aws s3 cp 和 aws s3 sync 是 AWS 命令行界面的两个命令,主要用于Amazon S3服务。这两个命令在功能上是有所不同的。

  • aws s3 cp

此命令用于从一个位置复制文件到另一个位置。这可以在本地文件系统和S3桶之间,也可以在两个S3桶之间。这个命令会覆盖目标位置的任何现有文件。例如,如果你正在将文件从一个桶复制到另一个桶,如果目标桶中已经有一个与源桶中具有相同名称的文件,那么它将被覆盖。

  • aws s3 sync

此命令则更加智能,它只会复制修改过的文件。也就是说,它会比较源桶和目标桶(或文件系统),只有当源桶中的文件比目标桶中的文件"新"(修改日期更晚或者目标桶中没有相应文件)时,它才会复制该文件。这意味着它可以用来同步两个存桶的内容,使目标存桶的内容与源存桶中的内容保持一致。

总的来说,aws s3 cp 是一个简单的复制操作,而 aws s3 sync 则会确保目标和源之间的文件保持同步状态。

3.3. 查看目标目录的文件(文件夹)数量

bash 复制代码
# 查看目标存储桶下的文件数量
aws s3 ls s3://${your_bucket_name}/${sub_path} --recursive | wc -l

4. 参考文章

如何利用AWS CLI进行S3的上传下载 | 钢钢更新

ChatGPT

相关推荐
Virtual_human08062 小时前
在VMware workstation上,部署3节点ceph测试,及加入openstack
ceph·云计算·openstack·osd·ceph集群
Lim小刘15 小时前
AWS IAM Identity Center 实战操作:从启用、用户、权限集到 SSO 登录
云计算·aws·云安全·sso
腾讯云大数据16 小时前
腾讯云ES AI搜索最佳实践:基于ES与Dify的企业级RAG应用方案
大数据·人工智能·elasticsearch·云计算·腾讯云
运维行者_1 天前
使用 Applications Manager 实现 AWS 云监控:保障业务应用高效运行
大数据·运维·服务器·网络·数据库·云计算·aws
明天…ling1 天前
Xshell远程连接阿里云ECS超详细教程
阿里云·云计算
云布道师1 天前
【云故事探索】NO.24 | 让教育因云而无界:易康思科技如何用阿里云打破“算力孤岛”?
科技·阿里云·云计算
今夕资源网1 天前
uvr5下载 人声伴奏分离软件 Ultimate Vocal Remover 终极声乐去除器 GUI v5.6
云计算·uvr5·uvr5下载·人声伴奏分离软件·人声分离软件·人生分离·伴奏分离
admin and root2 天前
AWS S3 对象存储攻防&云安全之OSS存储桶漏洞
微信小程序·小程序·渗透测试·云计算·aws·src·攻防演练
共绩算力2 天前
2026算力租赁平台深度测评:共绩算力与海外大厂CoreWeave、AWS同台竞技
人工智能·云计算·aws·共绩算力