This folder contains a Python application example that handles S3 buckets on AWS (Amazon Web Services).
Upload a local file to a S3 bucket using the Resource API (high-level) of Boto 3.
-
You must have an Amazon Web Services (AWS) account.
-
The code was written for:
- Python 3
- AWS SDK for Python (Boto3)
-
This example uses Resource API (high-level) of Boto 3.
-
Install the AWS SDK for Python (Boto3).
Install the latest Boto 3 release via pip:
pip install boto3
-
Configure your AWS access keys.
Important: For security, it is strongly recommend that you use IAM users instead of the root account for AWS access.
When you initialize a new service client without supplying any arguments, the AWS SDK for Java attempts to find AWS credentials by using the default credential provider chain.
Setting your credentials for use by the AWS SDK for Java can be done in a number of ways, but here are the recommended approaches:
-
The default credential profiles file.
Set credentials in the AWS credentials profile file on your local system, located at:
-
~/.aws/credentials
on Linux, macOS, or Unix. -
C:\Users\USERNAME\.aws\credentials
on Windows.
This file should contain lines in the following format:
[default] aws_access_key_id = <YOUR_ACCESS_KEY_ID> aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
Replace the values of
<YOUR_ACCESS_KEY_ID>
and<YOUR_SECRET_ACCESS_KEY>
by your AWS credentials. -
-
Environment variables
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
.Set the
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
environment variables.To set these variables on Linux, macOS, or Unix, use
export
:export AWS_ACCESS_KEY_ID=<YOUR_ACCESS_KEY_ID> export AWS_SECRET_ACCESS_KEY=<YOUR_SECRET_ACCESS_KEY>
To set these variables on Windows, use
set
:set AWS_ACCESS_KEY_ID=<YOUR_ACCESS_KEY_ID> set AWS_SECRET_ACCESS_KEY=<YOUR_SECRET_ACCESS_KEY>
Replace the values of
<YOUR_ACCESS_KEY_ID>
and<YOUR_SECRET_ACCESS_KEY>
by your AWS credentials.
-
-
Run the code.
You must provide 3 parameters, replace the values of:
<BUCKET_NAME>
by Bucket name.<OBJECT_NAME>
by Object file name in the bucket.<LOCAL_FILE_NAME>
by local file name.
Run application:
python s3upload.py <BUCKET_NAME> <OBJECT_NAME> <LOCAL_FILE_NAME>
-
Test the application.
You should see the new object created in the S3 bucket.