Introduction to AWS Boto in Python
Maksim Pecherskiy
Data engineer
df = pd.read_csv('https://gid-staging.potholes.csv')
Permission Allowed!
# Generate the boto3 client for interacting with S3 s3 = boto3.client('s3', region_name='us-east-1', aws_access_key_id=AWS_KEY_ID, aws_secret_access_key=AWS_SECRET)
# Use client to download a file s3.download_file( Filename='potholes.csv', Bucket='gid-requests', Key='potholes.csv')
Upload File
s3.upload_file(
Filename='potholes.csv', Bucket='gid-requests', Key='potholes.csv')
Set ACL to 'public-read'
s3.put_object_acl(
Bucket='gid-requests', Key='potholes.csv', ACL='public-read')
Upload file with 'public-read'
ACL
s3.upload_file(
Bucket='gid-requests',
Filename='potholes.csv',
Key='potholes.csv',
ExtraArgs={'ACL':'public-read'})
S3 Object URL Template
https://{bucket}.{key}
URL for Key='2019/potholes.csv'
https://gid-requests.2019/potholes.csv
Generate Object URL String
url = "https://{}.{}".format(
"gid-requests",
"2019/potholes.csv")
'https://gid-requests.2019/potholes.csv'
# Read the URL into Pandas
df = pd.read_csv(url)
Set ACL to 'public-read'
s3.put_object_acl(
Bucket='gid-requests', Key='potholes.csv', ACL='public-read')
Set ACL to 'private'
s3.put_object_acl(
Bucket='gid-requests', Key='potholes.csv', ACL='private')
Upload file with 'public-read'
ACL
s3.upload_file(
Bucket='gid-requests',
Filename='potholes.csv',
Key='potholes2.csv',
ExtraArgs={'ACL':'public-read'})
Generate Object URL String
url = "https://{}.{}".format(
"gid-requests",
"2019/potholes.csv")
'https://gid-requests.2019/potholes.csv'
# Read the URL into Pandas
df = pd.read_csv(url)
Introduction to AWS Boto in Python