MinIO: Python verbinden met MinIO

Deze documentatie maakt deel uit van de Aan de slag-gids. Bekijk de volledige gids hier: Hoe te beginnen met het gebruik van MinIO voor S3-compatibele objectopslag.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare MinIO Object Storage oplossing die tal van voordelen biedt, waaronder:

  • Onbeperkte overdrachten.
  • Eenvoudige, voorspelbare en transparante prijzen.
  • Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://object-storage.uw-bedrijf.com).
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.
  • Beschikbaar in 🇪🇺 Europa en 🇺🇸 USA.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de MinIO Object Storage hosting oplossing van Stackhero te proberen!

Er zijn twee primaire manieren om Python-applicaties met MinIO te verbinden.

Installeer eerst het AWS SDK-pakket (boto3):

pip install boto3
pip freeze > requirements.txt

Het volgende voorbeeld laat zien hoe u verbinding maakt met MinIO met behulp van 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')

# Upload een lokaal bestand '/home/john/piano.mp3' naar bucket 'songs' met de objectnaam 'piano.mp3'
s3.Bucket('songs').upload_file('/home/john/piano.mp3', 'piano.mp3')

# Download het object 'piano.mp3' van bucket 'songs' en sla het lokaal op als '/tmp/classical.mp3'
s3.Bucket('songs').download_file('piano.mp3', '/tmp/classical.mp3')

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

Meer details zijn beschikbaar in de MinIO Python documentatie.

Als alternatief kunt u de MinIO SDK voor Python gebruiken. Installeer eerst het MinIO-pakket:

pip install minio
pip freeze > requirements.txt

Hieronder staat een voorbeeld dat laat zien hoe u verbinding maakt met MinIO met behulp van de MinIO SDK:

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

def main():
  # Maak een client voor uw MinIO-server met uw toegangssleutels en geheime sleutels
  client = Minio(
    endpoint='<XXXXXX>.stackhero-network.com:443',
    secure=True,
    access_key='YOUR_ACCESS_KEY',
    secret_key='YOUR_SECRET_KEY'
  )

  # Controleer of de bucket 'asiatrip' bestaat en maak deze indien nodig aan
  found = client.bucket_exists("asiatrip")
  if not found:
    client.make_bucket("asiatrip")
  else:
    print("Bucket 'asiatrip' already exists")

  # Upload '/home/user/Photos/asiaphotos.zip' als 'asiaphotos-2015.zip' naar de 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)

Voor meer informatie, zie de MinIO Python SDK documentatie.