新手AWS S3下载数据集必学入门教程

简介

之前我写过一期使用asw来挂下载SpaceNet遥感数据集的教程,觉得写的还不是很详细,有些遗漏的地方,这里进

行再次的补充,让新手朋友们能看的更加清晰,因为会用到亚马逊S3账号,然后申请起来又特别的费事,可能很多新手

就不会了,那么我这里梳理一下从开始注册到配置,再到最后如何使用CLI下载,指引新手一下,因为很多地方都会用到

S3来下载,并不是只能挂SpaceNet。

 

注册

我们先访问到亚马逊的官网,地址我在下面贴出来了

https://aws.amazon.com/cn

进入官网,点击右上方的搜索框图标 >> 在搜索框中输入关键字  “S3”回车进行搜索

 

 

搜索出来的结果第一个就是,如图

点击界面上的开始使用 Amazon S3,进行账号的注册(普通账号默认没有登录S3服务,需开启必须登录绑卡)

填写需要注册的邮箱,跟着提示按流程注册即可,这里就不赘述了

当我们注册完成,使用AWS登录S3服务之后是会弹出来让你添加信用卡的

如果没弹出来请点击右上角用户的地方 >> Billing Dashboard  >> 付款首选项 >> 添加付款方式,把你的信用卡

填进去就可以了,AWS是已经支持国内信用卡,无需国际信用卡,添加后使用CNY人民币结账即可

我这里演示用的是使用的是美元结账,需要注意的是,这里必须成功的否则后面流程就不用看了

 

 

SpaceNet数据存放在S3服务上,所以账号必去登录S3服务才能下载数据,

 

创建用户

绑卡成功之后开始创建用户,点击右上角用户名处 >>  Security credentials

左侧工具栏 >> 访问管理 >> 用户,进行点击

点击右边的 >> 添加用户

输入一个用户名,这里自定义,随意输入

设置权限,这里选择直接附加策略

在搜索框当中输入关键字“s3”,回车进行搜索,显示出来的相关s3的策略,全部选中,下一步即可

创建用户完成后,进去用户当中 >> 安全凭证

找到访问秘钥这一项 >> 创建访问秘钥 >> 命令行界面(CLI) >> 勾选下方同意创建,点击下一步完成

这个就是我们的访问秘钥,请保存好。后面配置CLI会用的上,直接下载CSV文件即可存在电脑上

 

下载AWS CLI安装

AWS CLI 支持windows、linux、Mac三平台使用,下方是CLI的下载页面,这里举例windows和linux平台的

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

 

windows cli

到下方我贴的地址找到对应的版本安装

#Windows(64位)的AWS CLI MSI安装程序
https://awscli.amazonaws.com/AWSCLIV2.msi

默认next下一步直接安装到完成

安装完毕我们去CMD进行测试,输入aws help,显示如下图,则环境安装成功

 

本地配置秘钥

管理员方式运行CMD并输入
cd /d C:\Program Files\Amazon\AWSCLIV2\

如果有多个账户可以设置一个默认用户,使用以下命令(没有则忽略)
set AWS_DEFAULT_PROFILE=s3

配置证书
aws configure

秘钥ID和访问秘钥在你下载的CSV文件当中都有

AWS Access Key ID [None]: 密钥 ID

AWS Secret Access Key [None]: 私有访问密钥

Default region name [None]: us-west-2

Default output format [None]: json

 

linux cli

linux系统的更为简洁一些,三行命令敲完就行了

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

配置秘钥,和windows一样

aws configure

 

AWS S3 CLI 下载

这里需要提一点挂某些网站的S3是需要使用科学上网工具来挂下载,否则即使配置成功也挂不动

自己挂不动的,或者嫌过程太繁琐的,可以联系站长来挂S3数据

这里我以SpaceNet遥感数据集的网站作为示例,演示一下S3的数据如何下载,下方是网站

https://spacenetchallenge.github.io/

查看

查看数据列表

aws s3 ls s3://spacenet-dataset/ --request-payer requester

下载数据——以AOIs为例

先获取列表
aws s3 ls s3://spacenet-dataset/AOIs/ --request-payer requester

下载s3

我下载AOI_4shanghai的,先获取
aws s3 ls s3://spacenet-dataset/AOIs/AOI_4_Shanghai/ --request-payer requester

下载数据示例
aws s3 cp s3://spacenet-dataset/AOIs/AOI_4_Shanghai . --recursive

aws s3 cp s3://arn:aws:s3:us-east-1:604877620213:accesspoint/dfdc-data-ap-1/test/metadata.json . --request-payer --region=us-east-1

aws s3 sync s3://livecell-dataset/ .


比如下载到D盘
aws s3 cp s3://spacenet-dataset/AOIs/AOI_4_Shanghai d:\ 

同步s3示例
aws s3 sync --no-sign-request s3://openneuro.org/ds002870 ds002870-download/

为避免数据下载中断建议数据一个一个的下载,例如定位到AOI_4_Shanghai文件夹

该命令会将AOI_4_Shanghai文件夹下所有数据下载到当前(不能自定下载目录)

注意不包括AOI_4_Shanghai自身(注意路径结尾的 “.”   有空格且不能省略,否则下载失败)

THE END