MinIO: Connexion de Python à MinIO

Cette documentation fait partie du guide Premiers pas. Consultez le guide complet ici : Comment commencer à utiliser MinIO pour le stockage d'objets compatible S3.

👋 Bienvenue dans la documentation Stackhero !

Stackhero met à votre disposition une plateforme MinIO Object Storage prête à l’emploi, pensée pour la fiabilité et la rapidité. Voici les principaux avantages :

  • Transferts illimités sans frais cachés.
  • Tarification simple, prévisible et transparente.
  • Nom de domaine personnalisé sécurisé par HTTPS (par exemple, https://object-storage.votre-entreprise.com).
  • Mises à jour fluides en un clic, sans intervention manuelle.
  • Performance et sécurité élevées sur une infrastructure privée et dédiée.
  • Disponible dans les régions 🇪🇺 Europe et 🇺🇸 USA.

Optimisez vos workflows et réduisez le temps d’installation : déployez l’hébergement MinIO Object Storage de Stackhero en seulement 5 minutes.

Il existe deux principales façons de connecter des applications Python à MinIO.

Tout d'abord, installez le package AWS SDK (boto3) :

pip install boto3
pip freeze > requirements.txt

L'exemple suivant montre comment se connecter à MinIO en utilisant boto3 :

#!/usr/bin/env python
import os
import boto3
from botocore.client import Config

s3 = boto3.resource('s3',
                    endpoint_url='https://<XXXXXX>.stackhero-network.com',
                    aws_access_key_id='YOUR_ACCESS_KEY',
                    aws_secret_access_key='YOUR_SECRET_KEY',
                    config=Config(signature_version='s3v4'),
                    region_name='us-east-1')

# Téléchargez un fichier local '/home/john/piano.mp3' vers le bucket 'songs' avec le nom d'objet 'piano.mp3'
s3.Bucket('songs').upload_file('/home/john/piano.mp3', 'piano.mp3')

# Téléchargez l'objet 'piano.mp3' du bucket 'songs' et enregistrez-le localement sous '/tmp/classical.mp3'
s3.Bucket('songs').download_file('piano.mp3', '/tmp/classical.mp3')

print("'piano.mp3' downloaded as 'classical.mp3'.")

Plus de détails sont disponibles dans la documentation Python de MinIO.

Alternativement, vous pouvez utiliser le SDK MinIO pour Python. Tout d'abord, installez le package MinIO :

pip install minio
pip freeze > requirements.txt

Voici un exemple montrant comment se connecter à MinIO en utilisant le SDK MinIO :

#!/usr/bin/env python
from minio import Minio
from minio.error import S3Error

def main():
  # Créez un client pour votre serveur MinIO en utilisant vos clés d'accès et secrètes
  client = Minio(
    endpoint='<XXXXXX>.stackhero-network.com:443',
    secure=True,
    access_key='YOUR_ACCESS_KEY',
    secret_key='YOUR_SECRET_KEY'
  )

  # Vérifiez si le bucket 'asiatrip' existe, et créez-le s'il n'existe pas
  found = client.bucket_exists("asiatrip")
  if not found:
    client.make_bucket("asiatrip")
  else:
    print("Bucket 'asiatrip' already exists")

  # Téléchargez '/home/user/Photos/asiaphotos.zip' sous 'asiaphotos-2015.zip' dans le bucket 'asiatrip'
  client.fput_object(
    "asiatrip", "asiaphotos-2015.zip", "/home/user/Photos/asiaphotos.zip"
  )
  print(
    "'/home/user/Photos/asiaphotos.zip' has been successfully uploaded as "
    "object 'asiaphotos-2015.zip' to bucket 'asiatrip'."
  )


if __name__ == "__main__":
  try:
    main()
  except S3Error as exc:
    print("An error occurred.", exc)

Pour plus d'informations, consultez la documentation du SDK Python de MinIO.