minio連線失敗報錯ValueError: path in endpoint is not allowed

槑孒發表於2024-08-09

ValueError: path in endpoint is not allowed 這個錯誤通常是因為在MinIO客戶端的 endpoint 引數中包含了路徑(如 /bucketname/foldername)而導致的。endpoint 只應該包含主機名和埠號,不能包含任何路徑資訊。

解決方法:

  1. 確保 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的預設埠號。

  2. 上傳物件時指定完整路徑
    如果需要在特定的“目錄”下上傳檔案,請在上傳檔案時使用完整的物件名稱路徑,而不是在 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 方法時,在物件名稱中包含完整的路徑。

相關文章