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 de Stackhero !
Stackhero propose une solution MinIO Object Storage prête à l'emploi qui offre de nombreux avantages, notamment :
- Transferts illimités.
- Tarification simple, prédictive et transparente.
- Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://object-storage.votre-entreprise.com).
- Mises à jour sans effort en un clic.
- Performance optimale et sécurité robuste grâce à une VM privée et dédiée.
- Disponible en 🇪🇺 Europe et 🇺🇸 USA.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution d'hébergement MinIO Object Storage de Stackhero !
Il existe deux principales façons de connecter des applications Python à MinIO.
Connexion à MinIO avec l'AWS SDK (boto)
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.
Connexion à MinIO avec le SDK 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.