Saya memiliki sesuatu yang menurut saya memiliki lebih banyak pesanan:
import boto3
from pprint import pprint
from botocore.exceptions import NoCredentialsError
class S3(object):
BUCKET = "test"
connection = None
def __init__(self):
try:
vars = get_s3_credentials("aws")
self.connection = boto3.resource('s3', 'aws_access_key_id',
'aws_secret_access_key')
except(Exception) as error:
print(error)
self.connection = None
def upload_file(self, file_to_upload_path, file_name):
if file_to_upload is None or file_name is None: return False
try:
pprint(file_to_upload)
file_name = "your-folder-inside-s3/{0}".format(file_name)
self.connection.Bucket(self.BUCKET).upload_file(file_to_upload_path,
file_name)
print("Upload Successful")
return True
except FileNotFoundError:
print("The file was not found")
return False
except NoCredentialsError:
print("Credentials not available")
return False
Ada tiga variabel penting di sini, BUCKET const, file_to_upload dan file_name
BUCKET
: adalah nama bucket S3 Anda
file_to_upload_path
: harus berupa jalur dari file yang ingin Anda unggah
file_name
: adalah file dan jalur yang dihasilkan dalam keranjang Anda (ini adalah tempat Anda menambahkan folder atau apa pun)
Ada banyak cara tetapi Anda dapat menggunakan kembali kode ini di skrip lain seperti ini
import S3
def some_function():
S3.S3().upload_file(path_to_file, final_file_name)