Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Take a look at this code segment, which allows you to access the bucket, list its objects and upload/download files from it. Feel free to copy paste this segment and fill in with your own values.

Code Block
languagepy
import os
import boto3
from botocore.session import Session
from botocore.handlers import validate_bucket_name

#Initializing some values 
project_id = 'myprojectID' #Fill in your own
bucketname = 'mybucket123' #Fill in your own
bucketname = project_id + ':' + bucketname

#This is a neat trick to allow us to specify our bucket name in terms of ProjectID:bucketname
botocore_session = Session()
botocore_session.unregister('before-parameter-build.s3', validate_bucket_name)
boto3.setup_default_session(botocore_session = botocore_session)

#Initialize the S3 client
s3 = boto3.client('s3', endpoint_url='https://s3.waw3-1.cloudferro.com',
        aws_access_key_id = 'MyAccessKey',
        aws_secret_access_key = 'MySecretAccessKey')

#List all the objects in the bucket
response = s3.list_objects(Bucket=bucketname)
for item in response['Contents']:
    print(item['Key'])

#Downloading a file from the bucket
with open('myfile.txt', 'wb') as f:
    s3.download_fileobj(bucketname, 'myfile.txt', f)

#Uploading a file to the bucket (make sure you have write access)
response = s3.upload_file('myfile.txt', bucketname, 'myfile.txt')

...

Page properties
hiddentrue


Related issues