问题
I want to connect to a private s3 bucket and download a csv in python. How to do this? I see a lot of comments talking about boto3, So This is what i ve tried and it is failing.
from boto3.session import Session
import pandas as pd
import boto3
ACCESS_KEY='A'
SECRET_KEY='s/'
session = Session(aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY)
s3 = session.resource('s3')
obj = s3.get_object(Bucket='sp-dps', Key='da-la/hp/hp_co/current')
df = pd.read_csv(obj['Body'])
回答1:
import boto
from boto.s3.key import Key
keyId ="xxx" (AWS KEY)
sKeyId="yyy" (AWS SECRET KEY ID)
srcFileName="/abc/def/ghi/jkl/part_data_1"
destFileName="s3_part_data_1.csv"
bucketName="s-bucket"
conn = boto.connect_s3(keyId,sKeyId)
bucket = conn.get_bucket(bucketName)
#Get the Key object of the given key, in the bucket
k = Key(bucket,srcFileName)
#Get the contents of the key into a file
k.get_contents_to_filename(destFileName)
The above is the correct code.
来源:https://stackoverflow.com/questions/43806612/how-to-connect-to-s3-in-python-and-download-a-csv