S3 examples using boto3
This page provides some examples of using the S3 API.
Last updated
s3_client = boto3.client('sts',
endpoint_url='https://weka:9000',
aws_access_key_id='s3_key',
aws_secret_access_key='s3_secret',
region_name='us-east-1'))#!/usr/bin/env/python
import boto3
import logging
from botocore.exceptions import ClientError
from botocore.client import Config
config = Config(
signature_version = 's3v4'
)
s3_client = boto3.client('sts',
endpoint_url='https://weka:9000',
aws_access_key_id='s3_key',
aws_secret_access_key='s3_secret',
config=config,
region_name='us-east-1')
try:
response = s3_client.assume_role(
RoleArn='arn:x:ignored:by:weka-s3:',
RoleSessionName='ignored-by-weka-s3',
DurationSeconds=900
)
except ClientError as e:
logging.error(e)
print 'AccessKeyId:' + response['Credentials']['AccessKeyId']
print 'SecretAccessKey:' + response['Credentials']['SecretAccessKey']
print 'SessionToken:' + response['Credentials']['SessionToken']#!/usr/bin/env/python
import boto3
import logging
from botocore.exceptions import ClientError
from botocore.client import Config
config = Config(
signature_version = 's3v4'
)
s3_client = boto3.client('s3',
endpoint_url='https://weka:9000',
aws_access_key_id='s3_key',
aws_secret_access_key='s3_secret',
config=config,
region_name='us-east-1')
try:
response = s3_client.generate_presigned_url('get_object',
Params={'Bucket': 'mybucket',
'Key': 'myobject'},
ExpiresIn=3600)
except ClientError as e:
logging.error(e)
# The response contains the pre-signed URL
print response$ curl "http://weka:9000/mybucket/myobject?AWSAccessKeyId=s3_key&Expires=1624801707&Signature=4QBcfEUsUdR7Jaffg6gLRVpNTY0%3D"
myobject content#!/usr/bin/env/python
import boto3
import logging
from botocore.exceptions import ClientError
from botocore.client import Config
config = Config(
signature_version = 's3v4'
)
s3_client = boto3.client('s3',
endpoint_url='https://weka:9000',
aws_access_key_id='access_key',
aws_secret_access_key='secret_key',
aws_session_token='session_token',
config=config,
region_name='us-east-1')
try:
response = s3_client.generate_presigned_url('get_object',
Params={'Bucket': 'mybucket',
'Key': 'myobject'},
ExpiresIn=3600)
except ClientError as e:
logging.error(e)
# The response contains the pre-signed URL
print response
#!/usr/bin/env/python
import boto3
import logging
from botocore.exceptions import ClientError
from botocore.client import Config
config = Config(
signature_version = 's3v4'
)
s3 = boto3.resource('s3',
endpoint_url='https://weka:9000',
aws_access_key_id='s3_key',
aws_secret_access_key='s3_secret',
config=config)
try:
# upload a file from local file system 'myfile' to bucket 'mybucket' with 'my_uploaded_object' as the object name.
s3.Bucket('mybucket').upload_file('myfile','my_uploaded_object')
# download the object 'myfile' from the bucket 'mybucket' and save it to local FS as /tmp/classical.mp3
s3.Bucket('mybucket').download_file('my_uploaded_object', 'my_downloaded_object')
except ClientError as e:
logging.error(e)
print ("Downloaded 'my_downloaded_object' as 'my_uploaded_object'. a")
#!/usr/bin/env/python
import boto3
import logging
from botocore.exceptions import ClientError
from botocore.client import Config
config = Config(
signature_version = 's3v4'
)
s3_client = boto3.client('s3',
endpoint_url='https://weka:9000',
aws_access_key_id='s3_key',
aws_secret_access_key='s3_secret',
config=config)
try:
s3_client.create_bucket(Bucket='newbucket')
except ClientError as e:
logging.error(e)