相关文章推荐
踢足球的帽子  ·  AWS CLI ...·  1 月前    · 
空虚的南瓜  ·  如何使用AWSS3SDK访问OSS_对象存储 ...·  1 月前    · 
没有腹肌的麦片  ·  Loading Related ...·  1 年前    · 
胡子拉碴的牛肉面  ·  access中有三百多万条数据,现需要把导出 ...·  1 年前    · 
一身肌肉的小马驹  ·  如何精准刻画新型电力系统?(数字电网)·  1 年前    · 
唠叨的松树  ·  PEM 与 DER 格式详解_pem ...·  1 年前    · 
鬼畜的登山鞋  ·  how can I install the ...·  1 年前    · 
Code  ›  AWS CLI S3:使用终端本地复制文件:致命错误:调用HeadObject操作时出现错误(404)开发者社区
s3 aws
https://cloud.tencent.com/developer/ask/sof/1824793
踢足球的帽子
1 月前
首页
学习
活动
专区
圈层
工具
返回腾讯云官网
提问

问 AWS CLI S3:使用终端本地复制文件:致命错误:调用HeadObject操作时出现错误(404)

Stack Overflow用户
提问于 2017-07-15 02:28:02
EN

我正在尝试从s3存储桶本地复制文件。我可以获取存储桶上的文件列表:

代码语言: javascript
运行
复制
aws s3 ls  s3://myBucket/myDirectory/todaysFiles/

但是当我尝试将文件复制到本地时:

代码语言: javascript
运行
复制
aws s3 cp s3://myBucket/myDirectory/todaysFiles/ .

我得到了这个错误:

代码语言: javascript
运行
复制
fatal error: An error occurred (404) when calling the HeadObject operation: Key "myDirectory/todaysFiles/" does not exist

但是我尝试在本地只复制一个文件:

代码语言: javascript
运行
复制
 aws s3 cp s3://myBucket/myDirectory/todaysFiles/somefile .

我得到了这个错误:

代码语言: javascript
运行
复制
 warning: Skipping file s3://myBucket/myDirectory/todaysFiles/somefile. Object is of storage class GLACIER. Unable to perform download operations on GLACIER objects. You must restore the object to be able to the perform operation. See aws s3 download help for additional parameter options to ignore or force these transfers.

你们中有谁知道我为什么会得到这个错误或者解决这个错误的方法?

我真的很感谢你的帮助

4 38.5K 0 票数 40
EN
amazon-web-services
amazon-s3
aws-sdk
aws-cli
amazon-cloudformation

回答 4

Stack Overflow用户

发布于 2017-07-15 03:25:42

对于第一个错误-添加递归标志:

代码语言: javascript
运行
复制
aws s3 cp s3://myBucket/myDirectory/todaysFiles/ . --recursive

这会将"todaysFiles“目录中的所有文件复制到当前目录。

但是,第二个错误指示您的文件位于Glacier中。这让事情变得有点复杂,因为Glacier并不是实时的--取决于你愿意支付的价格,它可能需要几个小时才能恢复数据。有关更多信息,请参阅 Restoring Objects 文档。在将对象从冰川恢复到S3之前,无法从S3进行复制。

请注意,如果你这样做,你将有来自冰川和S3的成本。

顺便说一句,如果这些文件真的是今天的文件,那么在S3上存储和推送到Glacier之间应该有更长的时间。但我猜父目录可能也有一个与日期相关的组件。

票数 62
EN

Stack Overflow用户

发布于 2021-05-30 15:58:22

如果Source包含多个文件夹,请在末尾使用--recursive。

代码语言: javascript
运行
复制
aws s3 cp s3Uri Local --recursive
票数 1
EN

Stack Overflow用户

发布于 2021-04-30 23:28:51

如果它对任何人都有帮助,您还可以使用

代码语言: javascript
运行
复制
aws s3 sync s3://<bucketname>/<folder>/ ./<folder>

这应该可以在不使用递归的情况下工作。它的好处是可以跳过本地已经存在的文件。

正如@raju所提到的,冰川在AWS上是一个廉价的存储系统,这意味着如果你想要检索数据,你首先需要在下载之前发出一个请求来获取数据。对于不经常访问的长期存储来说,它是很便宜的。

票数 0
EN
页面原文内容由 Stack Overflow 提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45109533

复制

Copyright © 2013 - 2025 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

 
推荐文章
踢足球的帽子  ·  AWS CLI S3:使用终端本地复制文件:致命错误:调用HeadObject操作时出现错误(404)开发者社区
1 月前
空虚的南瓜  ·  如何使用AWSS3SDK访问OSS_对象存储(OSS)-阿里云帮助中心
1 月前
没有腹肌的麦片  ·  Loading Related Entities - EF6 | Microsoft Learn
1 年前
胡子拉碴的牛肉面  ·  access中有三百多万条数据,现需要把导出到excel 2007,应该怎么导出呢?_百度知道
1 年前
一身肌肉的小马驹  ·  如何精准刻画新型电力系统?(数字电网)
1 年前
唠叨的松树  ·  PEM 与 DER 格式详解_pem der_风神韵的博客-CSDN博客
1 年前
鬼畜的登山鞋  ·  how can I install the psycopg2 on python 2.7 interpreter from arcgis 10.2 distribution - Stack Overflow
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号