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.
Verbindung zu MinIO mit dem AWS SDK
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.
Verbindung zu MinIO mit dem MinIO SDK
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.