development branch created to preserve working deploy project
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
|
||||
import os
|
||||
import boto3
|
||||
from botocore.exceptions import ClientError
|
||||
|
||||
def test_minio_upload():
|
||||
minio_server_url = os.environ.get('MINIO_SERVER_URL', 'http://minio:9000') # Use hardcoded for now
|
||||
access_key = os.environ.get('MINIO_ACCESS_KEY')
|
||||
secret_key = os.environ.get('MINIO_SECRET_KEY')
|
||||
bucket_name = os.environ.get('MINIO_STATIC_BUCKET_NAME', 'static') # Use hardcoded for now
|
||||
secure = os.environ.get('MINIO_SECURE', 'False').lower() == 'true'
|
||||
|
||||
test_file_content = b"This is a test file for MinIO upload."
|
||||
test_file_name = "test_upload.txt"
|
||||
|
||||
print(f"Attempting to upload to MinIO at: {minio_server_url}")
|
||||
print(f"Bucket: {bucket_name}")
|
||||
print(f"Access Key: {access_key}")
|
||||
print(f"Secure connection: {secure}")
|
||||
|
||||
try:
|
||||
s3_client = boto3.client(
|
||||
's3',
|
||||
endpoint_url=minio_server_url,
|
||||
aws_access_key_id=access_key,
|
||||
aws_secret_access_key=secret_key,
|
||||
use_ssl=secure,
|
||||
verify=False # For self-signed certs or local testing
|
||||
)
|
||||
|
||||
print(f"Attempting to upload {test_file_name} to {bucket_name}...")
|
||||
s3_client.put_object(
|
||||
Bucket=bucket_name,
|
||||
Key=test_file_name,
|
||||
Body=test_file_content,
|
||||
ContentType='text/plain',
|
||||
ACL='public-read' # Ensure it's publicly readable
|
||||
)
|
||||
print(f"Successfully uploaded {test_file_name} to {bucket_name}!")
|
||||
|
||||
# Verify upload by listing objects
|
||||
print(f"Listing objects in {bucket_name}...")
|
||||
response = s3_client.list_objects_v2(Bucket=bucket_name)
|
||||
if 'Contents' in response:
|
||||
for obj in response['Contents']:
|
||||
print(f" - {obj['Key']}")
|
||||
else:
|
||||
print(" No objects found.")
|
||||
|
||||
except ClientError as e:
|
||||
print(f"MinIO ClientError: {e}")
|
||||
print(f"Error Code: {e.response.get('Error', {}).get('Code')}")
|
||||
print(f"Error Message: {e.response.get('Error', {}).get('Message')}")
|
||||
except Exception as e:
|
||||
print(f"An unexpected error occurred: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_minio_upload()
|
||||
Reference in New Issue
Block a user