Minio是一種基于對象存儲的開源解決方案,它支持S3 API,并提供了豐富的功能和易于使用的界面,因此在云原生應用開發中備受歡迎。Mysql是一種流行的關系型數據庫,它具有穩定、可靠和易于管理的優勢,并在大型應用中得到廣泛運用。在許多應用場景中,Minio和Mysql可以一起使用,以實現數據的存儲、管理和分析。
下面是使用Minio和Mysql的示例代碼:
import pymysql from minio import Minio from minio.error import ResponseError # 使用Minio上傳文件 minio_client = Minio('minio.server:9000', access_key='minio', secret_key='miniosecret', secure=False) try: minio_client.fput_object('mybucket', 'myfile', '/path/to/myfile') except ResponseError as err: print(err) # 使用Mysql存儲文件信息 db = pymysql.connect(host='mysql.server', user='mysqluser', password='mysqlpassword', db='mydatabase', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) try: with db.cursor() as cursor: sql = "INSERT INTO files (name, size, url) VALUES (%s, %s, %s)" cursor.execute(sql, ('myfile', '100MB', 'http://minio.server:9000/mybucket/myfile')) db.commit() except Exception as err: print(err) finally: db.close()
在這個示例代碼中,我們使用Minio上傳文件到名為mybucket的存儲桶中,然后使用Mysql存儲文件的相關信息。在數據庫中,我們創建一個名為files的表格來存儲文件的名字、大小和URL,以便于后續的查找和管理。當然,在實際的應用開發中,可能需要更加復雜的邏輯和數據結構,以滿足具體的業務需求。