如何使用boto3在Python中访问AWS S3 Bucket



我是一名刚开始学习数据工程的学生。以下是指向公共S3数据集的链接,该数据集包含存档和实时天气雷达报告。

https://registry.opendata.aws/noaa-nexrad/

我能够使用Python中的nextradaws模块轻松访问存档的数据。然而,我在访问Python中的实时数据集时遇到了问题,因为nextradaws模块中没有提供实时数据集。

我读了一些与此相关的stackoverflow帖子,发现了一些不同的方法:

  1. 使用boto3包-我尝试过,但boto3文档似乎专注于在Python中创建bucket。然后,使用访问密钥和密钥访问这些存储桶。但是,访问此bucket不需要凭据。不确定在我的情况下实现boto3的正确方法是什么。此外,我浏览了官方的boto3文档,找不到关于如何访问不需要访问密钥的公共存储桶的信息。但是,为了以防万一,我确实设置了一个AWS帐户,并在创建bucket时尝试使用ARN,然而,创建的bucket仍然是空的
  2. 在Python中使用子流程模块并运行AWS CLI-我也在尝试,但很难找到在子流程模块中实现AWS CLI的正确方法
  3. 使用出色的shPython包-尝试这个,我遇到了与上面相同的问题

我的问题是,如何使用boto3访问实时数据?以及如何下载数据?boto3的一些好资源在哪里?

使用boto3:

import boto3
from botocore import UNSIGNED
from botocore.client import Config
s3 = boto3.resource("s3", config=Config(signature_version=UNSIGNED))
bucket = s3.Bucket("noaa-nexrad-level2")
for obj in bucket.objects.filter(Prefix="2021/01/01"):
print(obj)

相关内容

  • 没有找到相关文章

最新更新