【发布时间】:2021-07-10 08:45:28
【问题描述】:
我有一些 python 代码可以将来自 api 的响应保存到我计算机的文件系统中。如何将 api 响应 (csv) 直接保存到 amazon s3 存储桶,而无需将其保存到我的计算机文件系统中。
我查看了使用 bot03 的示例,但它们仅显示了从本地文件系统上传的示例。我想要做的是将 csv 文件 直接 保存到 s3 存储桶中。任何建议将不胜感激 - 我是 python 新手。
这是我用来保存到本地文件系统的代码:
import requests
import csv
def main():
url = "https://api0.solar.sheffield.ac.uk/pvlive/v3/pes/10?start=2021-01-01T00:00:00&end=2021-07-06T00:00:00&data_format=csv"
x = requests.get(url,headers={'Content-Type': 'application/json', 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate',})
#save to csv
with open('C:\\Users\myDirectory\myFile.csv', 'wb') as file:
file.write(x.content)
非常感谢
【问题讨论】:
-
好的,到目前为止我有这个:s3 = bot03.client("s3") with open("test.csv","rb") as file2: s3.upload_fileobj(x.conent, "BUCKETNAME", "FILENAMEFORS3.CSV") 如何传递凭据以连接到我的存储桶?
-
您可以使用AWS Command-Line Interface (CLI)
aws configure命令将您的凭据存储在您的计算机上。它将它们存储在~/.aws/credentials中,boto3会自动检测到。
标签: python amazon-web-services amazon-s3