MinIO: Connexion de Node.js à MinIO

Cette documentation fait partie du guide Premiers pas. Consultez le guide complet ici : Comment commencer à utiliser MinIO pour le stockage d'objets compatible S3.

👋 Bienvenue dans la documentation de Stackhero !

Stackhero propose une solution MinIO Object Storage prête à l'emploi qui offre de nombreux avantages, notamment :

  • Transferts illimités.
  • Tarification simple, prédictive et transparente.
  • Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://object-storage.votre-entreprise.com).
  • Mises à jour sans effort en un clic.
  • Performance optimale et sécurité robuste 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.

Tout d'abord, installez le package AWS SDK pour Node.js :

npm install aws-sdk

Voici un exemple qui montre comment se connecter à MinIO en utilisant 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'
});

// opération 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');
  }
);

// opération 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();

Pour plus de détails, visitez la documentation Node.js de MinIO.

Si vous préférez utiliser le SDK MinIO pour Node.js, installez-le en utilisant npm :

npm install minio

Voici un exemple de connexion à MinIO en utilisant 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écharger
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échargez le fichier dans le bucket 'europetrip' en utilisant 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 de MinIO.