我是一名刚开始学习数据工程的学生。以下是指向公共S3数据集的链接,该数据集包含存档和实时天气雷达报告。
https://registry.opendata.aws/noaa-nexrad/
我能够使用Python中的nextradaws模块轻松访问存档的数据。然而,我在访问Python中的实时数据集时遇到了问题,因为nextradaws模块中没有提供实时数据集。
我读了一些与此相关的stackoverflow帖子,发现了一些不同的方法:
- 使用boto3包-我尝试过,但boto3文档似乎专注于在Python中创建bucket。然后,使用访问密钥和密钥访问这些存储桶。但是,访问此bucket不需要凭据。不确定在我的情况下实现boto3的正确方法是什么。此外,我浏览了官方的boto3文档,找不到关于如何访问不需要访问密钥的公共存储桶的信息。但是,为了以防万一,我确实设置了一个AWS帐户,并在创建bucket时尝试使用ARN,然而,创建的bucket仍然是空的
- 在Python中使用子流程模块并运行AWS CLI-我也在尝试,但很难找到在子流程模块中实现AWS CLI的正确方法
- 使用出色的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)