我正在学习 Udemy 课程,我们需要在命令行中访问存储桶。但是,原始数据集不再可用。老师没有更新视频,只是向我们提供了以下与 AWS CLI 一起使用的信息,并且没有回复有关此问题的任何问题。鉴于这些新信息,我不确定现在如何编写命令行。以前他有这个来访问它:
我希望有人可以帮助我用他在下面提供给我们的数据编写新命令。
老师的话:
不幸的是,他们停止提供德意志交易所数据集。该数据集的 GitHub 存储库不再可用。
因此,我在 AWS S3 上提供了一个数据集。
要访问它,请使用:
s3 = boto3.resource('s3')
bucket = s3.Bucket('xetra-1234')
bucket_obj = bucket.objects.filter(Prefix='2022-01-28/')
以 AWS CLI 为例:
aws s3 ls xetra-1234*
我已经尝试过:
> aws s3 ls xetra-1234
并收到此错误消息:
无法找到凭据。您可以通过运行“aws configure”来配置凭证
目前课堂上没有关于证书的说明。我假设它会连接并且我会得到如下所示的结果:
您需要向 AWS 进行身份验证,以便他们知道谁在发送请求。否则,很容易通过来自 S3 的下载请求对 AWS 进行 DDoS。
短期凭证比长期凭证更安全,
# In ~/.aws/credentials
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
# In ~/.aws/config
[default]
region=us-west-2
output=json
[profile user1]
region=us-east-1
output=text
取自 AWS 文档。