ValueError: path in endpoint is not allowed
這個錯誤通常是因為在MinIO客戶端的 endpoint
引數中包含了路徑(如 /bucketname
或 /foldername
)而導致的。endpoint
只應該包含主機名和埠號,不能包含任何路徑資訊。
解決方法:
-
確保
endpoint
引數中沒有路徑:minio_client = Minio( "your-minio-endpoint:9000", # 只包含主機名和埠號 access_key="your-access-key", secret_key="your-secret-key", secure=False # 根據你的實際情況設定 )
your-minio-endpoint
應該是類似minio.example.com
或者localhost
的主機名或IP地址,9000
是MinIO的預設埠號。 -
上傳物件時指定完整路徑:
如果需要在特定的“目錄”下上傳檔案,請在上傳檔案時使用完整的物件名稱路徑,而不是在endpoint
中指定路徑:object_name = "Work/small/" + image_name minio_client.fput_object(bucket_name, object_name, image_path)
這樣,MinIO會在
bucket_name
儲存桶中將檔案上傳到Work/small/
這個路徑下。
關鍵點:
endpoint
只包含主機名和埠,不應包含路徑。- 使用
fput_object
方法時,在物件名稱中包含完整的路徑。