MinIO: Node.jsをMinIOに接続する
このドキュメントははじめにガイドの一部です。完全なガイドはこちらからご覧いただけます:S3互換のオブジェクトストレージとしてMinIOを使い始める方法。
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供する、すぐに使えるMinIOオブジェクトストレージソリューションを提供しています。
- 無制限の転送。
- シンプルで予測可能、かつ透明な価格設定。
- HTTPSで保護されたカスタマイズ可能なドメイン名(例: https://object-storage.your-company.com)。
- ワンクリックで簡単に更新。
- プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ。
- 🇪🇺 ヨーロッパと🇺🇸 アメリカで利用可能。
時間を節約し、生活を簡素化: StackheroのMinIOオブジェクトストレージホスティングソリューションを試すのに5分しかかかりません!
Node.jsアプリケーションをMinIOに接続する方法は2つあります。
AWS SDKを使用してMinIOに接続する
まず、Node.js用のAWS SDKパッケージをインストールします。
npm install aws-sdk
以下は、AWS SDKを使用してMinIOに接続する方法を示す例です。
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, // MinIOで必要
signatureVersion: 'v4'
});
// 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');
}
);
// 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();
詳細については、MinIO Node.jsドキュメントを参照してください。
MinIO SDKを使用してMinIOに接続する
Node.js用のMinIO SDKを使用する場合は、npmを使用してインストールします。
npm install minio
以下は、Node.js用のMinIO SDKを使用してMinIOに接続する方法を示す例です。
const process = require('process');
const Minio = require('minio');
// エンドポイントとアクセスキーを使用してMinIOクライアントをインスタンス化
const minioClient = new Minio.Client({
endpoint: '<XXXXXX>.stackhero-network.com',
port: 443,
useSSL: true,
accessKeyId: 'YOUR_ACCESS_KEY',
secretAccessKey: 'YOUR_SECRET_KEY',
});
// アップロードするファイル
const file = '/tmp/photos-europe.tar';
// '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
};
// fPutObject APIを使用してファイルをバケット 'europetrip' にアップロード
minioClient.fPutObject(
'europetrip',
'photos-europe.tar',
file,
metaData,
(err, etag) => {
if (err) return console.log(err);
console.log('File uploaded successfully.');
}
);
}
);
詳細については、MinIO Node.js SDKドキュメントを参照してください。