簡體   English   中英

從 api 保存到 s3 存儲桶

[英]saving from api to s3 bucket

我正在嘗試獲取以下 python 代碼,以使用 bot03 和 python 將 csv 從 api 保存到 amazon s3 存儲桶,但我看不出哪里出錯了。 當我執行代碼時,我沒有收到任何錯誤,但文件從未出現在 s3 存儲桶中。

import boto3
from botocore.exceptions import ClientError

file_name = "test.csv"
bucket = "mybucket"

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',})

    s3 = bot03.client("s3")
    with open("test.csv","rb") as file2:
     s3.upload_fileobj(x.content, bucket, "test.cvc")

任何提示/建議將不勝感激。 我是一個 python/aws 新手,如果有一個基本問題,我深表歉意

我用這段代碼來實現我所需要的

file_name = "test.csv"
bucket = "my_bucket"

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',})



    s3_resource = boto3.resource('s3')
    s3_resource.Object(bucket, 'snowflake/csv/df1.csv').put(Body=x.content)


if __name__ == "__main__":
    main()

根據 OP(Original Post),你試過了嗎

(第 11 行)s3 = boto3.client("s3") -- OP: bot03.client("s3")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM