Skip to content

Instantly share code, notes, and snippets.

@svngoku
Created July 26, 2022 07:04
Show Gist options
  • Save svngoku/ebc831a8ba9a13d1e1865480bfc55944 to your computer and use it in GitHub Desktop.
Save svngoku/ebc831a8ba9a13d1e1865480bfc55944 to your computer and use it in GitHub Desktop.
import boto3
import os
def make_file(s3_client, s3_resource, bucket_name, file_name):
with open(file_name, 'w') as f:
f.write('Hello World\n')
s3_client.upload_file(file_name, bucket_name, file_name)
def upload_file(s3_client, s3_resource, bucket_name, file_name):
s3_client.upload_file(file_name, bucket_name, file_name)
def download_file(s3_client, s3_resource, bucket_name, file_name):
s3_client.download_file(bucket_name, file_name, file_name)
def delete_file(s3_client, s3_resource, bucket_name, file_name):
s3_client.delete_object(Bucket=bucket_name, Key=file_name)
def get_all_files(s3_client, s3_resource, bucket_name):
bucket = s3_resource.Bucket(bucket_name)
return bucket.objects.all()
def get_file_size(s3_client, s3_resource, bucket_name, file_name):
s3_object = s3_resource.Object(bucket_name, file_name)
return s3_object.content_length
def get_file_path(s3_client, s3_resource, bucket_name, file_name):
s3_object = s3_resource.Object(bucket_name, file_name)
return s3_object.key
def get_last_modified_time(s3_client, s3_resource, bucket_name, file_name):
s3_object = s3_resource.Object(bucket_name, file_name)
return s3_object.last_modified
def get_content_type(s3_client, s3_resource, bucket_name, file_name):
s3_object = s3_resource.Object(bucket_name, file_name)
return s3_object.content_type
def main():
s3_resource = boto3.resource('s3')
s3_client = boto3.client('s3')
bucket_name = 'test-bucket-1234'
file_name = 'helloworld.txt'
make_file(s3_client, s3_resource, bucket_name, file_name)
upload_file(s3_client, s3_resource, bucket_name, file_name)
download_file(s3_client, s3_resource, bucket_name, file_name)
print(get_all_files(s3_client, s3_resource, bucket_name))
print(get_file_size(s3_client, s3_resource, bucket_name, file_name))
print(get_file_path(s3_client, s3_resource, bucket_name, file_name))
print(get_last_modified_time(s3_client, s3_resource, bucket_name, file_name))
print(get_content_type(s3_client, s3_resource, bucket_name, file_name))
# delete_file(s3_client, s3_resource, bucket_name, file_name)
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment