MinIO: Łączenie Node.js z MinIO
Ta dokumentacja jest częścią przewodnika Pierwsze kroki. Pełny przewodnik znajdziesz tutaj: Jak rozpocząć korzystanie z MinIO do przechowywania obiektów zgodnych z S3.
👋 Witamy w dokumentacji Stackhero!
Stackhero udostępnia gotową do użycia platformę MinIO Object Storage, zaprojektowaną z myślą o niezawodności i wysokiej wydajności. Najważniejsze zalety to:
- Nieograniczone transfery danych bez ukrytych kosztów.
- Prosty, przewidywalny i przejrzysty cennik.
- Własna nazwa domeny zabezpieczona przez HTTPS (na przykład https://object-storage.twoja-firma.com).
- Aktualizacje jednym kliknięciem, bez konieczności ręcznej ingerencji.
- Wysoka wydajność i bezpieczeństwo na prywatnej, dedykowanej infrastrukturze.
- Dostępność w regionach 🇪🇺 Europa oraz 🇺🇸 USA.
Usprawnij swój workflow i skróć czas wdrożenia: możesz uruchomić hosting MinIO Object Storage od Stackhero w zaledwie 5 minut.
Istnieją dwie metody łączenia aplikacji Node.js z MinIO.
Łączenie z MinIO za pomocą AWS SDK
Najpierw zainstaluj pakiet AWS SDK dla Node.js:
npm install aws-sdk
Poniżej znajduje się przykład pokazujący, jak połączyć się z MinIO za pomocą 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, // wymagane z MinIO
signatureVersion: 'v4'
});
// operacja 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');
}
);
// operacja 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();
Więcej szczegółów można znaleźć w dokumentacji Node.js MinIO.
Łączenie z MinIO za pomocą SDK MinIO
Jeśli wolisz używać SDK MinIO dla Node.js, zainstaluj go za pomocą npm:
npm install minio
Poniżej znajduje się przykład pokazujący, jak połączyć się z MinIO za pomocą SDK MinIO dla Node.js:
const process = require('process');
const Minio = require('minio');
// Zainicjuj klienta MinIO z endpointem i kluczami dostępu
const minioClient = new Minio.Client({
endpoint: '<XXXXXX>.stackhero-network.com',
port: 443,
useSSL: true,
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY',
});
// Plik do przesłania
const file = '/tmp/photos-europe.tar';
// Utwórz bucket o nazwie '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
};
// Prześlij plik do bucketu 'europetrip' używając API fPutObject
minioClient.fPutObject(
'europetrip',
'photos-europe.tar',
file,
metaData,
(err, etag) => {
if (err) return console.log(err);
console.log('File uploaded successfully.');
}
);
}
);
Więcej informacji można znaleźć w dokumentacji SDK Node.js MinIO.