MinIO: Verbindung von Node.js zu MinIO

Diese Dokumentation ist Teil des Erste Schritte-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man mit MinIO für S3-kompatiblen Objektspeicher beginnt.

👋 Willkommen bei der Stackhero-Dokumentation!

Stackhero bietet eine einsatzbereite MinIO Object Storage Lösung, die zahlreiche Vorteile bietet, darunter:

  • Unbegrenzte Übertragungen.
  • Einfache, vorausschauende und transparente Preisgestaltung.
  • Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://object-storage.ihre-firma.com).
  • Mühelose Updates mit nur einem Klick.
  • Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.
  • Verfügbar in 🇪🇺 Europa und 🇺🇸 USA.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die MinIO Object Storage Hosting Lösung von Stackhero auszuprobieren!

Es gibt zwei Methoden, um Node.js-Anwendungen mit MinIO zu verbinden.

Installieren Sie zuerst das AWS SDK-Paket für Node.js:

npm install aws-sdk

Nachfolgend ein Beispiel, das zeigt, wie man sich mit MinIO unter Verwendung des AWS SDK verbindet:

const process = require('process');
const AWS = require('aws-sdk');

const s3 = new AWS.S3({
  accessKeyId: 'YOUR_ACCESS_KEY',
  secretAccessKey: 'YOUR_SECRET_KEY',
  endpoint: 'https://<XXXXXX>.stackhero-network.com',
  s3ForcePathStyle: true, // erforderlich mit MinIO
  signatureVersion: 'v4'
});

// putObject-Operation
s3.putObject(
  { Bucket: 'testbucket', Key: 'testobject', Body: 'Hello from MinIO!' },
  (err, data) => {
    if (err)
      console.log(err);
    else
      console.log('Successfully uploaded data to testbucket/testobject');
  }
);

// getObject-Operation
const file = require('fs').createWriteStream('/tmp/mykey');
s3.getObject({ Bucket: 'testbucket', Key: 'testobject' })
  .on('httpData', chunk => file.write(chunk))
  .on('httpDone', () => file.end())
  .send();

Für weitere Details besuchen Sie die MinIO Node.js-Dokumentation.

Wenn Sie das MinIO SDK für Node.js verwenden möchten, installieren Sie es mit npm:

npm install minio

Hier ist ein Beispiel, wie man sich mit dem MinIO SDK für Node.js mit MinIO verbindet:

const process = require('process');
const Minio = require('minio');

// Instanziieren Sie den MinIO-Client mit dem Endpoint und den Zugangsschlüsseln
const minioClient = new Minio.Client({
  endpoint: '<XXXXXX>.stackhero-network.com',
  port: 443,
  useSSL: true,
  accessKeyId: 'YOUR_ACCESS_KEY',
  secretAccessKey: 'YOUR_SECRET_KEY',
});

// Datei, die hochgeladen werden soll
const file = '/tmp/photos-europe.tar';

// Erstellen Sie einen Bucket namens 'europetrip'
minioClient.makeBucket(
  'europetrip',
  'us-east-1',
  err => {
    if (err) return console.log(err);

    console.log('Bucket created successfully in "us-east-1".');

    const metaData = {
      'Content-Type': 'application/octet-stream',
      'X-Amz-Meta-Testing': 1234,
      'example': 5678
    };
    // Laden Sie die Datei in den Bucket 'europetrip' mit der fPutObject-API hoch
    minioClient.fPutObject(
      'europetrip',
      'photos-europe.tar',
      file,
      metaData,
      (err, etag) => {
        if (err) return console.log(err);
        console.log('File uploaded successfully.');
      }
    );
  }
);

Für weitere Informationen siehe die MinIO Node.js SDK-Dokumentation.