MinIO: Connessione di Node.js a MinIO
Questa documentazione fa parte della guida Iniziare. Consulta la guida completa qui: Come iniziare a utilizzare MinIO per lo storage di oggetti compatibile con S3.
👋 Benvenuti nella documentazione di Stackhero!
Stackhero offre una piattaforma MinIO Object Storage pronta all'uso, progettata per garantire affidabilità e velocità. I principali vantaggi includono:
- Trasferimenti illimitati senza costi nascosti.
- Prezzi semplici, prevedibili e trasparenti.
- Un nome di dominio personalizzato protetto da HTTPS (ad esempio, https://object-storage.your-company.com).
- Aggiornamenti fluidi con un solo clic, senza necessità di interventi manuali.
- Elevata performance e sicurezza su infrastruttura privata e dedicata.
- Disponibile sia nelle regioni 🇪🇺 Europa che 🇺🇸 USA.
Ottimizzate il vostro workflow e riducete i tempi di configurazione: potete attivare l'hosting MinIO Object Storage di Stackhero in soli 5 minuti.
Ci sono due metodi per connettere applicazioni Node.js a MinIO.
Connessione a MinIO con l'AWS SDK
Per prima cosa, installa il pacchetto AWS SDK per Node.js:
npm install aws-sdk
Di seguito è riportato un esempio che mostra come connettersi a MinIO utilizzando l'AWS SDK:
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, // richiesto con MinIO
signatureVersion: 'v4'
});
// operazione putObject
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');
}
);
// operazione getObject
const file = require('fs').createWriteStream('/tmp/mykey');
s3.getObject({ Bucket: 'testbucket', Key: 'testobject' })
.on('httpData', chunk => file.write(chunk))
.on('httpDone', () => file.end())
.send();
Per ulteriori dettagli, visita la documentazione Node.js di MinIO.
Connessione a MinIO con il SDK MinIO
Se preferisci utilizzare il SDK MinIO per Node.js, installalo utilizzando npm:
npm install minio
Ecco un esempio di come connettersi a MinIO utilizzando il SDK MinIO per Node.js:
const process = require('process');
const Minio = require('minio');
// Instanzia il client MinIO con l'endpoint e le chiavi di accesso
const minioClient = new Minio.Client({
endpoint: '<XXXXXX>.stackhero-network.com',
port: 443,
useSSL: true,
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY',
});
// File da caricare
const file = '/tmp/photos-europe.tar';
// Crea un bucket chiamato '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
};
// Carica il file nel bucket 'europetrip' utilizzando l'API fPutObject
minioClient.fPutObject(
'europetrip',
'photos-europe.tar',
file,
metaData,
(err, etag) => {
if (err) return console.log(err);
console.log('File uploaded successfully.');
}
);
}
);
Per maggiori informazioni, consulta la documentazione del SDK Node.js di MinIO.