这是我尝试过的: aws s3 cp s3://bucket name/folder ~/downloads --range bytes=0-200000000。我收到一个未知的选项范围错误。
请给我一些指导。我有大约 1 TB 的数据,但我想将大约 100 MB 的顺序编号文件部分下载到我的外部硬盘驱动器。 谢谢你。
最佳答案
要对单个文件执行此操作,您可以使用 AWS S3 CLI api:
aws s3api get-object --bucket YOUR_BUCKET --key YOUR_FOLDER/KEY --range 100 TARGET_FILE_NAME
请注意使用 s3api
而不是 s3
。
此处的 range
参数将决定您要下载文件的字节范围。
然而,两周前,AWS 宣布了 Amazon S3 Select
。
Amazon S3 Select is now available in Preview. S3 Select is a new Amazon S3 capability designed to pull out only the data you need from an object, dramatically improving the performance and reducing the cost of applications that need to access data in S3.
它目前处于预览阶段,但您可以选择加入,一旦获得批准就应该能够使用此 API。
点击here了解更多信息。
编辑
您可以使用 S3 服务的 sync
api 操作来下载存储桶的内容。
可能的解决方案是 aws s3 sync s3://bucketname 。
要包含或排除某些文件,请分别使用标志 --include "*.json"
和 --exclude "*test.json"
关于json - 如何使用终端下载部分 s3 aws cli?它是一个 1 TB 的 json/xml 文件,我只想要 100-200MB 的顺序编号文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47700777/