MinIO JavaScript Client SDK提供简单的API来访问任何Amazon S3兼容的对象存储服务。
本快速入门指南将向您展示如何安装客户端SDK并执行示例JavaScript程序。有关API和示例的完整列表,请参阅JavaScript客户端API参考文档。
本文假设你已经安装了nodejs 。
minio>7.1.0
拥有自带的类型定义,不再需要安装 @types/minio
。
git clone https://github.com/minio/minio-js
cd minio-js
npm install
npm install -g
你需要设置5个属性来链接Minio对象存储服务。
参数 | 描述 |
---|---|
endPoint | 对象存储服务的URL |
port | TCP/IP端口号。可选值,如果是使用HTTP的话,默认值是80 ;如果使用HTTPS的话,默认值是443 。 |
accessKey | Access key是唯一标识你的账户的用户ID。 |
secretKey | Secret key是你账户的密码。 |
useSSL | true代表使用HTTPS |
import * as Minio from 'minio'
const minioClient = new Minio.Client({
endPoint: 'play.min.io',
port: 9000,
useSSL: true,
accessKey: 'Q3AM3UQ867SPQQA43P2F',
secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG'
});
本示例连接到一个对象存储服务,创建一个存储桶并上传一个文件到存储桶中。
我们在本示例中使用运行在 https://play.min.io 上的Minio服务,你可以用这个服务来开发和测试。示例中的访问凭据是公开的。
import * as Minio from 'minio'
// Instantiate the minio client with the endpoint
// and access keys as shown below.
const minioClient = new Minio.Client({
endPoint: 'play.min.io',
port: 9000,
useSSL: true,
accessKey: 'Q3AM3UQ867SPQQA43P2F',
secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG'
});
// File that needs to be uploaded.
const file = '/tmp/photos-europe.tar'
// Make a bucket called europetrip.
minioClient.makeBucket('europetrip', 'us-east-1', function(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
}
// Using fPutObject API upload your file to the bucket europetrip.
minioClient.fPutObject('europetrip', 'photos-europe.tar', file, metaData, function(err, etag) {
if (err) return console.log(err)
console.log('File uploaded successfully.')
});
});
node file-uploader.js
Bucket created successfully in "us-east-1".
mc ls play/europetrip/
[2016-05-25 23:49:50 PDT] 17MiB photos-europe.tar
完整的API文档在这里。
getBucketNotification
setBucketNotification
removeAllBucketNotification
listenBucketNotification
(MinIO Extension)
- list-buckets.js
- list-objects.js
- list-objects-v2.js
- bucket-exists.mjs
- make-bucket.mjs
- remove-bucket.mjs
- list-incomplete-uploads.js
- put-object.js
- get-object.mjs
- copy-object.js
- get-partialobject.mjs
- remove-object.js
- remove-incomplete-upload.js
- stat-object.mjs