MinIO: Conectando Node.js ao MinIO
Esta documentação faz parte do guia Introdução. Consulte o guia completo aqui: Como começar a usar o MinIO para armazenamento de objetos compatível com S3.
👋 Bem-vindo à documentação da Stackhero!
A Stackhero disponibiliza uma plataforma MinIO Object Storage pronta a usar, concebida para garantir fiabilidade e desempenho. As principais vantagens incluem:
- Transferências ilimitadas sem custos ocultos.
- Preços simples, previsíveis e transparentes.
- Um domínio personalizado protegido por HTTPS (por exemplo, https://object-storage.sua-empresa.com).
- Atualizações automáticas e sem complicações, com apenas um clique e sem necessidade de intervenção manual.
- Elevada performance e segurança numa infraestrutura privada e dedicada.
- Disponível nas regiões 🇪🇺 Europa e 🇺🇸 USA.
Otimize o seu fluxo de trabalho e reduza o tempo de configuração: pode implementar o serviço de alojamento MinIO Object Storage da Stackhero em apenas 5 minutos.
Existem dois métodos para conectar aplicações Node.js ao MinIO.
Conectando ao MinIO com o AWS SDK
Primeiro, instale o pacote AWS SDK para Node.js:
npm install aws-sdk
Abaixo está um exemplo que mostra como conectar-se ao MinIO usando o 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, // necessário com MinIO
signatureVersion: 'v4'
});
// operação 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');
}
);
// operação 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();
Para mais detalhes, visite a documentação Node.js do MinIO.
Conectando ao MinIO com o SDK MinIO
Se preferir usar o SDK MinIO para Node.js, instale-o usando npm:
npm install minio
Aqui está um exemplo de como conectar-se ao MinIO usando o SDK MinIO para Node.js:
const process = require('process');
const Minio = require('minio');
// Instancie o cliente MinIO com o endpoint e as chaves de acesso
const minioClient = new Minio.Client({
endpoint: '<XXXXXX>.stackhero-network.com',
port: 443,
useSSL: true,
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY',
});
// Ficheiro a ser carregado
const file = '/tmp/photos-europe.tar';
// Crie um bucket chamado '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
};
// Carregar o ficheiro para o bucket 'europetrip' usando a API fPutObject
minioClient.fPutObject(
'europetrip',
'photos-europe.tar',
file,
metaData,
(err, etag) => {
if (err) return console.log(err);
console.log('File uploaded successfully.');
}
);
}
);
Para mais informações, consulte a documentação do SDK Node.js do MinIO.