MinIO: Conectando Node.js a MinIO
Esta documentación forma parte de la guía Comenzando. Consulte la guía completa aquí: Cómo empezar a usar MinIO para almacenamiento de objetos compatible con S3.
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una plataforma MinIO Object Storage lista para usar, diseñada para ofrecer fiabilidad y velocidad. Sus principales ventajas incluyen:
- Transferencias ilimitadas de datos sin costes ocultos.
- Precios simples, predecibles y transparentes.
- Un nombre de dominio personalizado protegido con HTTPS (por ejemplo, https://object-storage.su-empresa.com).
- Actualizaciones automáticas y sin intervención manual, con un solo clic.
- Alta rendimiento y seguridad en una infraestructura privada y dedicada.
- Disponible en las regiones de 🇪🇺 Europa y 🇺🇸 USA.
Optimice su flujo de trabajo y reduzca el tiempo de configuración: puede desplegar el servicio de MinIO Object Storage de Stackhero en solo 5 minutos.
Hay dos métodos para conectar aplicaciones Node.js a MinIO.
Conectando a MinIO con el AWS SDK
Primero, instale el paquete AWS SDK para Node.js:
npm install aws-sdk
A continuación se muestra un ejemplo que muestra cómo conectarse a MinIO usando el 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, // requerido con MinIO
signatureVersion: 'v4'
});
// operación 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');
}
);
// operación 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 más detalles, visite la documentación de Node.js de MinIO.
Conectando a MinIO con el SDK de MinIO
Si prefiere usar el SDK de MinIO para Node.js, instálelo usando npm:
npm install minio
Aquí hay un ejemplo de cómo conectarse a MinIO usando el SDK de MinIO para Node.js:
const process = require('process');
const Minio = require('minio');
// Instancie el cliente MinIO con el endpoint y las claves de acceso
const minioClient = new Minio.Client({
endpoint: '<XXXXXX>.stackhero-network.com',
port: 443,
useSSL: true,
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY',
});
// Archivo a subir
const file = '/tmp/photos-europe.tar';
// Cree un bucket llamado '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
};
// Suba el archivo al bucket 'europetrip' usando la API fPutObject
minioClient.fPutObject(
'europetrip',
'photos-europe.tar',
file,
metaData,
(err, etag) => {
if (err) return console.log(err);
console.log('File uploaded successfully.');
}
);
}
);
Para más información, consulte la documentación del SDK de Node.js de MinIO.