MinIO: Connecter Node.js à MinIO
Cette documentation fait partie du guide Premiers pas. Consultez le guide complet ici : Comment débuter avec MinIO pour l'object storage compatible S3.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution MinIO Object Storage prête à l'emploi qui offre de nombreux avantages, notamment :
- Des transferts illimités.
- Une tarification simple, prévisible et transparente.
- Un nom de domaine personnalisable sécurisé par HTTPS (par exemple, https://object-storage.votre-entreprise.com).
- Des mises à jour faciles en un clic.
- Une performance optimale et une sécurité renforcée 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 méthodes pour connecter des applications Node.js à MinIO.
Connexion à MinIO avec l'AWS SDK
Commencez par installer le package AWS SDK pour Node.js :
npm install aws-sdk
Voici un exemple montrant comment se connecter à MinIO avec 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, // requis avec 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();
Pour plus de détails, consultez la documentation Node.js de MinIO.
Connexion à MinIO avec le SDK MinIO
Si vous préférez utiliser le SDK MinIO pour Node.js, installez-le avec npm :
npm install minio
Voici un exemple de connexion à MinIO avec le SDK MinIO pour Node.js :
const process = require('process');
const Minio = require('minio');
// Instanciez le client MinIO avec l'endpoint et les clés d'accès
const minioClient = new Minio.Client({
endpoint: '<XXXXXX>.stackhero-network.com',
port: 443,
useSSL: true,
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY',
});
// Fichier à téléverser
const file = '/tmp/photos-europe.tar';
// Créez un bucket appelé '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
};
// Téléverse le fichier dans le bucket 'europetrip' avec l'API fPutObject
minioClient.fPutObject(
'europetrip',
'photos-europe.tar',
file,
metaData,
(err, etag) => {
if (err) return console.log(err);
console.log('File uploaded successfully.');
}
);
}
);
Pour plus d'informations, consultez la documentation du SDK Node.js MinIO.