MinIO: Node.js verbinden met MinIO

Deze documentatie maakt deel uit van de Aan de slag-gids. Bekijk de volledige gids hier: Hoe te beginnen met het gebruik van MinIO voor S3-compatibele objectopslag.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare MinIO Object Storage oplossing die tal van voordelen biedt, waaronder:

  • Onbeperkte overdrachten.
  • Eenvoudige, voorspelbare en transparante prijzen.
  • Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://object-storage.uw-bedrijf.com).
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.
  • Beschikbaar in 🇪🇺 Europa en 🇺🇸 USA.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de MinIO Object Storage hosting oplossing van Stackhero te proberen!

Er zijn twee methoden om Node.js-applicaties met MinIO te verbinden.

Installeer eerst het AWS SDK-pakket voor Node.js:

npm install aws-sdk

Hieronder staat een voorbeeld dat laat zien hoe u verbinding maakt met MinIO met behulp van de 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, // vereist met MinIO
  signatureVersion: 'v4'
});

// putObject operatie
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 operatie
const file = require('fs').createWriteStream('/tmp/mykey');
s3.getObject({ Bucket: 'testbucket', Key: 'testobject' })
  .on('httpData', chunk => file.write(chunk))
  .on('httpDone', () => file.end())
  .send();

Voor meer details, bezoek de MinIO Node.js documentatie.

Als u de voorkeur geeft aan het gebruik van de MinIO SDK voor Node.js, installeer deze dan met npm:

npm install minio

Hier is een voorbeeld van hoe u verbinding maakt met MinIO met behulp van de MinIO SDK voor Node.js:

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

// Instantieer de MinIO-client met de endpoint en toegangssleutels
const minioClient = new Minio.Client({
  endpoint: '<XXXXXX>.stackhero-network.com',
  port: 443,
  useSSL: true,
  accessKeyId: 'YOUR_ACCESS_KEY',
  secretAccessKey: 'YOUR_SECRET_KEY',
});

// Bestand om te uploaden
const file = '/tmp/photos-europe.tar';

// Maak een bucket genaamd '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
    };
    // Upload het bestand naar de bucket 'europetrip' met behulp van de fPutObject API
    minioClient.fPutObject(
      'europetrip',
      'photos-europe.tar',
      file,
      metaData,
      (err, etag) => {
        if (err) return console.log(err);
        console.log('File uploaded successfully.');
      }
    );
  }
);

Voor meer informatie, zie de MinIO Node.js SDK documentatie.