AWS S3上传下载

目录

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

1.1 检查Python依赖        

1.2.  使用pip安装AWS CLI:

1.3.  检查文件版本

2. 配置AWS client

3. 上传下载

3.1. 上传

3.2. 下载

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

4. 参考文章


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

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

1.1 检查Python依赖        

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

python --version
pip --version

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

sudo apt-get update
sudo apt-get install python3-pip

1.2.  使用pip安装AWS CLI:

pip install awscli --upgrade --user

1.3.  检查文件版本

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

aws --version

2. 配置AWS client

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

aws configure

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

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. 上传

# 进入目标目录
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. 下载

# 进入目标目录
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. 查看目标目录的文件(文件夹)数量

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

4. 参考文章

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

ChatGPT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/707029.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java设计模式】四、适配器模式

文章目录 1、适配器模式2、举例 1、适配器模式 适配器模式Adapter Pattern,是做为两个不兼容的接口之间的桥梁目的是将一个类的接口转换成客户希望的另外一个接口适配器模式可以使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 最后,适配器…

Javase补充-Arrays类的常用方法汇总

文章目录 一 . 排序方法二 . 查找方法三 . 判断是否相等的方法四 . 拷贝方法五 . 填充方法 一 . 排序方法 我们第一个要介绍的就是sort方法 这个排序实现的底层逻辑应该是十分复杂的,以我们目前的水平体系应该无法理解,我们今天尝试用我们可以理解的一种排序算法,插入排序来模…

DEPART: Replica Decoupling for Distributed Key-Value Storage——论文泛读

FAST 2022 Paper 论文阅读笔记整理 问题 现代分布式KV存储通过在节点之间分发KV对的副本来采用复制以实现容错。然而,现有的分布式KV存储通常在同一索引结构中管理所有副本,例如LSM-Tree,从而导致复制冗余之外的大量I/O成本。 本文方法 提…

基于FastJson实现Json数据文件导入导出解析

哈喽,大家好,我是灰小猿,一个超会写bug的程序猿! 今天来记录一个在项目实战中比较实用的方法,主要是针对一些需要存在简单数据文件导入导出的场景,如:数据文件的简单备份、软件升版前后配置导入…

全量知识系统问题及SmartChat给出的答复 之5

Q15. 支持前端(知识表征)的自然语言能力 需要一个 元语言注释工具 以及两个库(叙词库和语料库)和主题词表。请 1)设计 两个库和主题词表的结构 ,2)分别设计它们的接口,3)通过调用它们…

dms深层肌肉刺激仪进口和国产的区别大吗?

DMS深层肌肉刺激仪(Deep Muscle Stimulator)通常被用于物理治疗和康复中,以及在运动训练领域中。国产和进口DMS深层肌肉刺激仪在本质上可能没有太大的差别,但主要有以下两点区别: 选用材料: DMS深层肌肉刺激…

GIT问题记录

一、 1.Gitee相关 复现步骤:自己在gitee上使用WEB解决冲突,本地未拉取最新的origin分支,然后本地也做了其他的修改,然后commit并且push,push时候报错,本地分支不干净 尝试拉取origin的最新内容&#xff…

游戏服务之会话管理

会话的概念与作用 游戏服务器 Session(会话)是指在游戏服务器和客户端之间建立的一个临时的连接。它可以用于存储和管理用户的游戏状态和信息。 当用户登录游戏时,服务器会为该用户创建一个 Session,可用于记录用户的登录状态、角色信息等个人信息。服务器会为每个会话分…

禁止safari浏览器网页双击缩放功能

普通浏览器 普通浏览器&#xff0c;只需要增加meta标签禁止缩放功能就行了 <meta content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalable0;" name"viewport" /> user-scalableno或0 //禁止双指缩放页面initial-scale1.0…

C++之std::vector

容器vector是一个可以改变大小的动态数组。 序列容器中的元素按严格的线性顺序排序。单个元素通过它们在此序列中的位置进行访问动态数组允许直接访问序列中的任何元素&#xff0c;甚至通过指针算术&#xff0c;并在序列末尾提供相对快速的元素添加/删除。 如何定义和初始化动…

【喜讯】优积科技CEO刘其东当选第十届杨浦区科协常委委员!

2023年09月21日&#xff0c;上海市杨浦区科学技术协会第十次代表大会于杨浦区人民政府机关2号楼四楼礼堂隆重召开&#xff01;公司CEO刘其东、COO周兴文、CPO胡艳玲、PM何壮志等来自全区各界的近三百名科技工作者代表参加会议。 大会现场 上海市杨浦区委书记薛侃&#xff0c;上…

CVE CNVD CNNVD

CVE 英文全称是“Common Vulnerabilities & Exposures” 通用漏洞披露。CVE就好像是一个字典表&#xff0c;为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字&#xff0c;可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中…

Flutter中高级JSON处理:使用json_serializable进行深入定制

Flutter中高级JSON处理 使用json_serializable库进行深入定制 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/1363…

针对KZG承诺和高效laconic OT的extractable witness encryption

1. 引言 2024年以太坊基金会等成员论文 Extractable Witness Encryption for KZG Commitments and Efficient Laconic OT&#xff0c;开源代码实现见&#xff1a; https://github.com/rot256/research-we-kzg&#xff08;Rust&#xff09; 在该论文中&#xff0c;提供了一种…

OpenAI划时代大模型——文本生成视频模型Sora作品欣赏(八)

Sora介绍 Sora是一个能以文本描述生成视频的人工智能模型&#xff0c;由美国人工智能研究机构OpenAI开发。 Sora这一名称源于日文“空”&#xff08;そら sora&#xff09;&#xff0c;即天空之意&#xff0c;以示其无限的创造潜力。其背后的技术是在OpenAI的文本到图像生成模…

5G-A,未来已来

目前&#xff0c;全国首个5G-A规模组网示范完成。这项由北京联通携手华为共同打造的示范项目&#xff0c;实现了北京市中心金融街、历史建筑长话大楼、大型综合性体育场北京工人体育场三个重点场景的连片覆盖。 实际路测结果显示&#xff0c;5G-A用户下行峰值速率达到10Gbps&am…

了解docker与k8s

随着 k8s 作为容器编排解决方案变得越来越流行&#xff0c;有些人开始拿 Docker 和 k8s 进行对比&#xff0c;不禁问道&#xff1a;Docker 不香吗&#xff1f; k8s 是 kubernetes 的缩写&#xff0c;8 代表中间的八个字符。 其实 Docker 和 k8s 并非直接的竞争对手两者相互依存…

安装使用zookeeper

先去官网下载zookeeper&#xff1a;Apache ZooKeeper 直接进入bin目录&#xff0c;使用powerShell打开。 输入: ./zkServer.cmd 命令&#xff0c;启动zookeeper。 zookeeper一般需要配合Dubbo一起使用&#xff0c;作为注册中心使用&#xff0c;可以参考另一篇博客&#xf…

300分钟吃透分布式缓存-17讲:如何理解、选择并使用Redis的核心数据类型?

Redis 数据类型 首先&#xff0c;来看一下 Redis 的核心数据类型。Redis 有 8 种核心数据类型&#xff0c;分别是 &#xff1a; & string 字符串类型&#xff1b; & list 列表类型&#xff1b; & set 集合类型&#xff1b; & sorted set 有序集合类型&…

基于springboot+vue的大学城水电管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…