MinIO - 31. JavaScript 클라이언트 API 참조

목록

JavaScript Client API Reference

JavaScript 클라이언트 API 참조

Initialize MinIO Client object.

MinIO 클라이언트 객체를 초기화합니다.

MinIO

MinIO

var Minio = require('minio') var minioClient = new Minio.Client({ endPoint: 'play.min.io', port: 9000, useSSL: true, accessKey: 'Q3AM3UQ867SPQQA43P2F', secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG' });

AWS S3

AWS S3

var Minio = require('minio') var s3Client = new Minio.Client({ endPoint: 's3.amazonaws.com', accessKey: 'YOUR-ACCESSKEYID', secretKey: 'YOUR-SECRETACCESSKEY' })

Bucket operations

버킷 작업

Object operations

객체 작업

Presigned operations

사전 서명된 작업

Bucket Policy & Notification operations

버킷 정책 및 알림 작업

makeBucket getObject presignedUrl getBucketNotification listBuckets getPartialObject presignedGetObject setBucketNotification bucketExists fGetObject presignedPutObject removeAllBucketNotification removeBucket putObject presignedPostPolicy getBucketPolicy listObjects fPutObject setBucketPolicy listObjectsV2 copyObject listenBucketNotification listIncompleteUploads statObject removeObject removeObjects removeIncompleteUpload

1. Constructor

1. 생성자

new Minio.Client ({endPoint, port, useSSL, accessKey, secretKey})

Initializes a new client object.

새 클라이언트 객체를 초기화합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

Description

endPoint

endPoint

string

string

endPoint is a host name or an IP address.

endPoint는 호스트 이름 또는 IP 주소입니다.

port

port

number

number

TCP/IP port number. This input is optional. Default value set to 80 for HTTP and 443 for HTTPs.

TCP/IP 포트 번호. 이 입력은 선택 사항입니다. 기본값은 HTTP의 경우 80, HTTPs의 경우 443으로 설정됩니다.

useSSL

useSSL

bool

bool

If set to true, https is used instead of http. Default is true.

true로 설정하면 http 대신 https가 사용됩니다. 기본값은 true입니다.

accessKey

accessKey

string

string

accessKey is like user-id that uniquely identifies your account.

accessKey는 귀하의 계정을 고유하게 식별하는 사용자 ID와 같습니다.

secretKey

secretKey

string

string

secretKey is the password to your account.

secretKey는 계정의 패스워드입니다.

region

region

string

string

Set this value to override region cache. (Optional)

이 값을 설정하여 지역 캐시를 재정의합니다. (선택 사항)

transport

transport

string

string

Set this value to pass in a custom transport. (Optional)

사용자 정의 전송을 전달하려면 이 값을 설정하십시오. (선택 사항)

sessionToken

sessionToken

string

string

Set this value to provide x-amz-security-token (AWS S3 specific). (Optional)

Set this value to provide x-amz-security-token (AWS S3 specific). (Optional)

partSize

partSize

number

number

Set this value to override default part size of 64MB for multipart uploads. (Optional)

멀티파트 업로드에 대해 기본 부분 크기인 64MB를 재정의하려면 이 값을 설정하십시오. (선택 사항)

Example

Create client for MinIO

MinIO용 클라이언트 생성

var Minio = require('minio') var minioClient = new Minio.Client({ endPoint: 'play.min.io', port: 9000, useSSL: true, accessKey: 'Q3AM3UQ867SPQQA43P2F', secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG' });

Create client for AWS S3

AWS S3 용 클라이언트 생성

var Minio = require('minio') var s3Client = new Minio.Client({ endPoint: 's3.amazonaws.com', accessKey: 'YOUR-ACCESSKEYID', secretKey: 'YOUR-SECRETACCESSKEY' })

2. Bucket operations

2. 버킷 작업

makeBucket(bucketName, region[, callback])

makeBucket(bucketName, region[, callback])

Creates a new bucket.

새 버킷을 생성합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

region

region

string

string

Region where the bucket is created. This parameter is optional. Default value is us-east-1.

버킷이 생성되는 지역입니다. 이 매개변수는 선택사항입니다. 기본값은 us-east-1입니다.

callback(err)

callback(err)

function

function

Callback function with err as the error argument. err is null if the bucket is successfully created. If no callback is passed, a Promise is returned.

err을 오류 인수로 사용하는 콜백 함수입니다. 버킷이 성공적으로 생성되면 err은 null입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

minioClient.makeBucket('mybucket', 'us-east-1', function(err) { if (err) return console.log('Error creating bucket.', err) console.log('Bucket created successfully in "us-east-1".') })listBuckets([callback])

Lists all buckets.

모든 버킷을 나열합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

callback(err, bucketStream)

callback(err, bucketStream)

function

function

Callback function with error as the first argument. bucketStream is the stream emitting bucket information. If no callback is passed, a Promise is returned.

첫 번째 인수로 오류가 있는 콜백 함수입니다. bucketStream은 버킷 정보를 내보내는 스트림입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

bucketStream emits Object with the format:-

bucketStream은 다음 형식으로 객체를 내보냅니다.

Param

Param

Type

Type

Description

설명

bucket.name

bucket.name

string

string

bucket name @K] [@K 버킷 이름 @K] [@E bucket.creationDate

bucket.creationDate

Date

Date

date when bucket was created.

버킷이 생성된 날짜입니다.

Example

minioClient.listBuckets(function(err, buckets) { if (err) return console.log(err) console.log('buckets :', buckets) })bucketExists(bucketName, callback)

Checks if a bucket exists.

버킷이 존재하는지 확인합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

callback(err, exists)

callback(err, exists)

function

function

exists is a boolean which indicates whether bucketName exists or not. err is set when an error occurs during the operation.

exists는 bucketName이 존재하는지 여부를 나타내는 부울입니다. err은 작업 중 오류가 발생하면 설정됩니다.

Example

minioClient.bucketExists('mybucket', function(err, exists) { if (err) { return console.log(err) } if (exists) { return console.log('Bucket exists.') } })removeBucket(bucketName[, callback])

Removes a bucket.

버킷을 제거합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

callback(err)

callback(err)

function

function

err is null if the bucket is removed successfully. If no callback is passed, a Promise is returned.

버킷이 성공적으로 제거되면 err는 null입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

minioClient.removeBucket('mybucket', function(err) { if (err) return console.log('unable to remove bucket.') console.log('버킷이 성공적으로 제거되었습니다.') })listObjects(bucketName, prefix, recursive)

Lists all objects in a bucket.

버킷의 모든 객체를 나열합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

prefix

prefix

string

string

The prefix of the objects that should be listed (optional, default '').

나열되어야 하는 객체의 접두사(선택 사항, 기본값 '').

recursive

recursive

bool

bool

true indicates recursive style listing and false indicates directory style listing delimited by '/'. (optional, default false).

true는 재귀적 스타일 목록을 나타내고, false는 '/'로 구분된 디렉터리 스타일 목록을 나타냅니다. (선택 사항, 기본값은 false).

Return Value

반환 값

Param

Param

Type

Type

Description

설명

stream

stream

Stream

Stream

Stream emitting the objects in the bucket.

버킷의 객체를 내보내는 스트림입니다.

The object is of the format:

객체의 형식은 다음과 같습니다.

Param

Param

Type

Type

Description

설명

obj.name

obj.name

string

string

name of the object.

객체의 이름입니다.

obj.prefix

obj.prefix

string

string

name of the object prefix.

객체 접두사의 이름입니다.

obj.size

obj.size

number

number

size of the object.

객체의 크기입니다.

obj.etag

obj.etag

string

string

etag of the object.

객체의 etag입니다.

obj.lastModified

obj.lastModified

Date

Date

modified time stamp.

수정된 타임 스탬프입니다.

Example

var stream = minioClient.listObjects('mybucket','', true) stream.on('data', function(obj) { console.log(obj) } ) stream.on('error', function(err) { console.log(err) } )listObjectsV2(bucketName, prefix, recursive, startAfter)

Lists all objects in a bucket using S3 listing objects V2 API

S3 목록 객체 V2 API를 사용하여 버킷의 모든 객체를 나열합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

prefix

prefix

string

string

The prefix of the objects that should be listed (optional, default '').

나열되어야 하는 객체의 접두사입니다 (선택 사항, 기본값은 '').

recursive

recursive

bool

bool

true indicates recursive style listing and false indicates directory style listing delimited by '/'. (optional, default false).

true는 재귀 스타일 목록을 나타내고, false는 '/'로 구분된 디렉터리 스타일 목록을 나타냅니다. (선택 사항, 기본값은 false).

startAfter

startAfter

string

string

Specifies the object name to start after when listing objects in a bucket. (optional, default '').

버킷의 객체를 나열할 때 뒤에 시작할 객체 이름을 지정합니다. (선택사항, 기본값 '').

Return Value

반환 값

Param

Param

Type

Type

Description

설명

stream

stream

Stream

Stream

Stream emitting the objects in the bucket.

버킷의 객체를 내보내는 스트림입니다.

The object is of the format:

객체의 형식은 다음과 같습니다.

Param

Param

Type

Type

Description

설명

obj.name

obj.name

string

string

name of the object.

객체의 이름입니다.

obj.prefix

obj.prefix

string

string

name of the object prefix.

객체 접두사의 이름입니다.

obj.size

obj.size

number

number

size of the object.

객체의 크기입니다.

obj.etag

obj.etag

string

string

etag of the object.

객체의 etag입니다.

obj.lastModified

obj.lastModified

Date

Date

modified time stamp.

수정된 타임 스탬프입니다.

Example

var stream = minioClient.listObjectsV2('mybucket','', true,'') stream.on('data', function(obj) { console.log(obj) } ) stream.on('error', function(err) { console.log(err) } )listIncompleteUploads(bucketName, prefix, recursive)

Lists partially uploaded objects in a bucket.

버킷에 부분적으로 업로드된 객체를 나열합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketname

bucketname

string

string

Name of the bucket.

버킷의 이름입니다.

prefix

prefix

string

string

Prefix of the object names that are partially uploaded. (optional, default '')

부분적으로 업로드된 객체 이름의 접두사입니다 (선택 사항, 기본값 '').

recursive

recursive

bool

bool

true indicates recursive style listing and false indicates directory style listing delimited by '/'. (optional, default false).

true는 재귀 스타일 목록을 나타내고, false는 '/'로 구분된 디렉터리 스타일 목록을 나타냅니다. (선택 사항, 기본값은 false).

Return Value

반환 값

Param

Param

Type

Type

Description

설명

stream

stream

Stream

Stream

Emits objects of the format listed below:

아래에 나열된 형식의 객체를 내보냅니다.

Param

Param

Type

Type

Description

설명

part.key

part.key

string

string

name of the object.

객체의 이름입니다.

part.uploadId

part.uploadId

string

string

upload ID of the object.

객체의 업로드된 ID입니다.

part.size

part.size

Integer

Integer

size of the partially uploaded object.

부분적으로 업로드된 객체의 크기입니다.

Example

var Stream = minioClient.listIncompleteUploads('mybucket', '', true) Stream.on('data', function(obj) { console.log(obj) }) Stream.on('end', function() { console.log('End') }) Stream.on('error', function(err) { console.log(err) })

3. Object operations

3. 객체 작업

getObject(bucketName, objectName[, callback])

Downloads an object as a stream.

객체를 스트림으로 다운로드합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

objectName

objectName

string

string

Name of the object.

객체의 이름입니다.

callback(err, stream)

callback(err, stream)

function

function

Callback is called with err in case of error. stream is the object content stream. If no callback is passed, a Promise is returned.

오류가 발생한 경우 err과 함께 콜백이 호출됩니다. 스트림은 객체 콘텐츠 스트림입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

var size = 0 minioClient.getObject('mybucket', 'photo.jpg', function(err, dataStream) { if (err) { return console.log(err) } dataStream.on('data', function(chunk) { size += chunk.length }) dataStream.on('end', function() { console.log('End. Total size = ' + size) }) dataStream.on('error', function(err) { console.log(err) }) })

getPartialObject(bucketName, objectName, offset, length[, callback])

getPartialObject (bucketName, objectName, 오프셋, 길이 [, 콜백])

Downloads the specified range bytes of an object as a stream.

객체의 지정된 범위 바이트를 스트림으로 다운로드합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

objectName

objectName

string

string

Name of the object.

객체의 이름입니다.

offset

offset

number

number

offset of the object from where the stream will start.

스트림이 시작되는 객체의 오프셋입니다.

length

length

number

number

length of the object that will be read in the stream (optional, if not specified we read the rest of the file from the offset).

스트림에서 읽을 객체의 길이 (선택 사항, 지정하지 않으면 오프셋에서 파일의 나머지 부분을 읽습니다).

callback(err, stream)

callback(err, stream)

function

function

Callback is called with err in case of error. stream is the object content stream. If no callback is passed, a Promise is returned.

오류가 발생한 경우 err과 함께 콜백이 호출됩니다. 스트림은 객체 콘텐츠 스트림입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

var size = 0

// reads 30 bytes from the offset 10.

// 오프셋 10부터 30바이트를 읽습니다.

minioClient.getPartialObject('mybucket', 'photo.jpg', 10, 30, function(err, dataStream) { if (err) { return console.log(err) } dataStream.on('data', function(chunk) { size += chunk.length }) dataStream.on('end', function() { console.log('End. Total size = ' + size) }) dataStream.on('error', function(err) { console.log(err) }) })fGetObject(bucketName, objectName, filePath[, callback])

Downloads and saves the object as a file in the local filesystem.

객체를 다운로드하여 로컬 파일 시스템에 파일로 저장합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

objectName

objectName

string

string

Name of the object.

객체의 이름입니다.

filePath

filePath

string

string

Path on the local filesystem to which the object data will be written.

객체 데이터가 기록될 로컬 파일 시스템의 경로입니다.

callback(err)

callback(err)

function

function

Callback is called with err in case of error. If no callback is passed, a Promise is returned.

오류가 발생한 경우 err과 함께 콜백이 호출됩니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

var size = 0 minioClient.fGetObject('mybucket', 'photo.jpg', '/tmp/photo.jpg', function(err) { if (err) { return console.log(err) } console.log('success') })putObject(bucketName, objectName, stream, size, metaData[, callback])

Uploads an object from a stream/Buffer.

스트림/버퍼에서 객체를 업로드합니다.

From a stream

스트림에서

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

objectName

objectName

string

string

Name of the object.

객체의 이름입니다.

stream

stream

Stream

Stream

Readable stream.

읽기 가능한 스트림.

size

size

number

number

Size of the object (optional).

객체의 크기 (선택 사항).

metaData

metaData

Javascript Object

Javascript Object

metaData of the object (optional).

객체의 메타데이터 (선택 사항).

callback(err, etag)

callback(err, etag)

function

function

Non-null err indicates error, etag string is the etag of the object uploaded. If no callback is passed, a Promise is returned.

Non-null err indicates error, etag string is the etag of the object uploaded. If no callback is passed, a Promise is returned.

Example

The maximum size of a single object is limited to 5TB. putObject transparently uploads objects larger than 5MiB in multiple parts.

단일 객체의 최대 크기는 5TB로 제한됩니다. putObject는 5MiB보다 큰 객체를 여러 부분으로 투명하게 업로드합니다.

This allows failed uploads to resume safely by only uploading the missing parts. Uploaded data is carefully verified using MD5SUM signatures.

이를 통해 누락된 부분만 업로드하여 실패한 업로드를 안전하게 재개할 수 있습니다. 업로드된 데이터는 MD5SUM 서명을 사용하여 신중하게 확인됩니다.

var Fs = require('fs') var file = '/tmp/40mbfile' var fileStream = Fs.createReadStream(file) var fileStat = Fs.stat(file, function(err, stats) { if (err) { return console.log(err) } minioClient.putObject('mybucket', '40mbfile', fileStream, stats.size, function(err, etag) { return console.log(err, etag) // err should be null }) })

From a "Buffer" or a "string"

"버퍼" 또는 "문자열" 에서

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

objectName

objectName

string

string

Name of the object.

객체의 이름입니다.

stream

stream

string or Buffer

string or Buffer

Stream or Buffer

Stream or Buffer

Readable stream.

읽기 가능한 스트림입니다.

metaData

metaData

Javascript Object

Javascript Object

metaData of the object (optional).

객체의 메타데이터 (선택 사항).

callback(err, etag)

callback(err, etag)

function

function

Non-null err indicates error, etag string is the etag of the object uploaded.

Non-null err indicates error, etag string is the etag of the object uploaded.

Example

var buffer = 'Hello World' minioClient.putObject('mybucket', 'hello-file', buffer, function(err, etag) {

return console.log(err, etag) // err should be null

return console.log(err, etag) // 오류는 null이어야 합니다.

})fPutObject(bucketName, objectName, filePath, metaData[, callback])

Uploads contents from a file to objectName.

파일의 내용을 objectName으로 업로드합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

objectName

objectName

string

string

Name of the object.

객체의 이름입니다.

filePath

filePath

string

string

Path of the file to be uploaded.

업로드할 파일의 경로입니다.

metaData

metaData

Javascript Object

Javascript Object

Metadata of the object.

객체의 메타데이터입니다.

callback(err, etag)

callback(err, etag)

function

function

Non-null err indicates error, etag string is the etag of the object uploaded. If no callback is passed, a Promise is returned.

null이 아닌 err는 오류를 나타내며, etag 문자열은 업로드된 객체의 etag입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

The maximum size of a single object is limited to 5TB. fPutObject transparently uploads objects larger than 5MiB in multiple parts.

단일 객체의 최대 크기는 5TB로 제한됩니다. fPutObject는 5MiB보다 큰 객체를 여러 부분으로 투명하게 업로드합니다.

This allows failed uploads to resume safely by only uploading the missing parts. Uploaded data is carefully verified using MD5SUM signatures.

이를 통해 누락된 부분만 업로드하여 실패한 업로드를 안전하게 재개할 수 있습니다. 업로드된 데이터는 MD5SUM 서명을 사용하여 신중하게 확인됩니다.

var file = '/tmp/40mbfile' var metaData = { 'Content-Type': 'text/html', 'Content-Language': 123, 'X-Amz-Meta-Testing': 1234, 'example': 5678 } minioClient.fPutObject('mybucket', '40mbfile', file, metaData, function(err, etag) { return console.log(err, etag) // err should be null })copyObject(bucketName, objectName, sourceObject, conditions[, callback])

Copy a source object into a new object in the specified bucket.

소스 객체를 지정된 버킷의 새 객체에 복사합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

objectName

objectName

string

string

Name of the object.

객체의 이름입니다.

sourceObject

sourceObject

string

string

Path of the file to be copied.

복사할 파일의 경로입니다.

conditions

conditions

CopyConditions

CopyConditions

Conditions to be satisfied before allowing object copy.

객체 복사를 허용하기 전에 충족해야 할 조건입니다.

callback(err, {etag, lastModified})

callback(err, {etag, lastModified})

function

function

Non-null err indicates error, etag string and lastModified Date are the etag and the last modified date of the object newly copied. If no callback is passed, a Promise is returned.

null이 아닌 err는 오류를 나타내며, etag 문자열과 lastModified Date는 새로 복사된 객체의 etag와 마지막 수정 날짜입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

var conds = new Minio.CopyConditions() conds.setMatchETag('bd891862ea3e22c93ed53a098218791d') minioClient.copyObject('mybucket', 'newobject', '/mybucket/srcobject', conds, function(e, data) { if (e) { return console.log(e) } console.log("Successfully copied the object:") console.log("etag = " + data.etag + ", lastModified = " + data.lastModified) })statObject(bucketName, objectName[, callback])

Gets metadata of an object.

객체의 메타데이터를 가져옵니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름입니다.

objectName

objectName

string

string

Name of the object.

객체의 이름

callback(err, stat)

callback(err, stat)

function

function

err is not null in case of error, stat contains the object information listed below. If no callback is passed, a Promise is returned.

오류가 발생한 경우 err은 null이 아니며 stat에는 아래 나열된 객체 정보가 포함됩니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Param

Param

Type

Type

Description

설명

stat.size

stat.size

number

number

size of the object.

객체의 크기

stat.etag

stat.etag

string

etag of the object.

stat.metaData

stat.metaData

Javascript Object

Javascript Object

metadata of the object.

객체의 메타데이터

stat.lastModified

stat.lastModified

Date

Date

Last Modified time stamp.

마지막으로 수정된 타임스탬프입니다.

Example

minioClient.statObject('mybucket', 'photo.jpg', function(err, stat) { if (err) { return console.log(err) } console.log(stat) })removeObject(bucketName, objectName[, callback])

Removes an object.

객체를 제거합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

objectName

objectName

string

string

Name of the object.

객체의 이름

callback(err)

callback(err)

function

function

Callback function is called with non null value in case of error. If no callback is passed, a Promise is returned.

오류 발생 시 null이 아닌 값으로 콜백 함수가 호출됩니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

minioClient.removeObject('mybucket', 'photo.jpg', function(err) { if (err) { return console.log('Unable to remove object', err) } console.log('Removed the object') })removeObjects(bucketName, objectsList[, callback])

Remove all objects in the objectsList.

objectsList의 모든 객체를 제거합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

objectsList

objectsList

list of objects in the bucket to be removed.

제거할 버킷의 객체 목록

callback(err)

callback(err)

function

function

Callback function is called with non null value in case of error. If no callback is passed, a Promise is returned.

오류 발생 시 null이 아닌 값으로 콜백 함수가 호출됩니다.

Example

var objectsList = []

// List all object paths in bucket my-bucketname.

// my-bucketname 버킷의 모든 객체 경로를 나열합니다.

var objectsStream = s3Client.listObjects('my-bucketname', 'my-prefixname', true) objectsStream.on('data', function(obj) { objectsList.push(obj.name); }) objectsStream.on('error', function(e) { console.log(e); }) objectsStream.on('end', function() { s3Client.removeObjects('my-bucketname',objectsList, function(e) { if (e) {

return console.log('Unable to remove Objects ',e)

if (e) {return console.log('객체를 제거할 수 없습니다. ',e) }

}

console.log('Removed the objects successfully')

console.log('객체를 성공적으로 제거했습니다.')

}) })removeIncompleteUpload(bucketName, objectName[, callback])

Removes a partially uploaded object.

부분적으로 업로드된 객체를 제거합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

objectName

objectName

string

string

Name of the object.

객체의 이름

callback(err)

callback(err)

function

function

Callback function is called with non null value in case of error. If no callback is passed, a Promise is returned.

오류 발생 시 null이 아닌 값으로 콜백 함수가 호출됩니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

minioClient.removeIncompleteUpload('mybucket', 'photo.jpg', function(err) { if (err) {

return console.log('Unable to remove incomplete object', err)

return console.log('불완전한 객체를 제거할 수 없습니다', err)

} }

console.log('Incomplete object removed successfully.')

console.log('불완전한 객체가 성공적으로 제거되었습니다.')

})

4. Presigned operations

4. 사전 서명된 작업

Presigned URLs are generated for temporary download/upload access to private objects.

비공개 객체에 대한 임시 다운로드/업로드 액세스를 위해 사전 서명된 URL이 생성됩니다.

presignedUrl(httpMethod, bucketName, objectName[, expiry, reqParams, requestDate, cb])

Generates a presigned URL for the provided HTTP method, 'httpMethod'.

제공된 HTTP 메소드인 'httpMethod'에 대해 사전 서명된 URL을 생성합니다.

Browsers/Mobile clients may point to this URL to directly download objects even if the bucket is private.

브라우저/모바일 클라이언트는 버킷이 비공개인 경우에도 객체를 직접 다운로드하기 위해 이 URL을 가리킬 수 있습니다.

This presigned URL can have an associated expiration time in seconds after which the URL is no longer valid. The default value is 7 days.

이 사전 서명된 URL은 해당 URL이 더 이상 유효하지 않게 된 이후의 만료 시간(초)을 가질 수 있습니다. 기본값은 7일입니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

objectName

objectName

string

string

Name of the object.

객체의 이름

expiry

expiry

number

number

Expiry time in seconds. Default value is 7 days. (optional)

만료 시간은 초 단위입니다. 기본값은 7 일입니다. (선택 사항)

reqParams

reqParams

object

object

request parameters. (optional)

요청 매개변수. (선택 사항)

requestDate

requestDate

Date

Date

A date object, the url will be issued at. Default value is now. (optional)

URL이 발급될 날짜 객체입니다. 기본값은 지금입니다. (선택 사항)

callback(err, presignedUrl)

callback(err, presignedUrl)

function

function

Callback function is called with non null err value in case of error. presignedUrl will be the URL using which the object can be downloaded using GET request. If no callback is passed, a Promise is returned.

오류가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. presignedUrl은 GET 요청을 사용하여 객체를 다운로드할 수 있는 URL입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example 1

예 1

// presigned url for 'getObject' method. // expires in a day.

// 'getObject' 메소드에 대해 사전 지정된 URL입니다. // 하루 뒤에 만료됩니다.

minioClient.presignedUrl('GET', 'mybucket', 'hello.txt', 24*60*60, function(err, presignedUrl) {

if (err) return console.log(err)

(err) 경우 console.log(err)를 반환합니다.

console.log(presignedUrl) })

Example 2

예 2

// presigned url for 'listObject' method.

// 'listObject'메소드에 대해 사전 서명된 URL입니다.

// Lists objects in 'myBucket' with prefix 'data'.

// 'data' 접두사가 있는 'myBucket'의 객체를 나열합니다.

// Lists max 1000 of them.

// 최대 1000 개를 나열합니다.

minioClient.presignedUrl('GET', 'mybucket', '', 1000, {'prefix': 'data', 'max-keys': 1000}, function(err, presignedUrl) { if (err) return console.log(err) console.log(presignedUrl) })presignedGetObject(bucketName, objectName[, expiry, respHeaders, requestDate, cb])

Generates a presigned URL for HTTP GET operations. Browsers/Mobile clients may point to this URL to directly download objects even if the bucket is private.

HTTP GET 작업을 위해 사전 서명된 URL을 생성합니다. 브라우저/모바일 클라이언트는 버킷이 비공개인 경우에도 객체를 직접 다운로드하기 위해 이 URL을 가리킬 수 있습니다.

This presigned URL can have an associated expiration time in seconds after which the URL is no longer valid. The default value is 7 days.

이 사전 서명된 URL은 해당 URL이 더 이상 유효하지 않게 된 이후의 만료 시간(초)을 가질 수 있습니다. 기본값은 7일입니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

objectName

objectName

string

string

Name of the object.

객체의 이름

expiry

expiry

number

number

Expiry time in seconds. Default value is 7 days. (optional)

만료 시간은 초 단위입니다. 기본값은 7 일입니다. (선택 사항)

respHeaders

respHeaders

object

object

response headers to override (optional)

재정의할 응답 헤더 (선택 사항)

requestDate

requestDate

Date

Date

A date object, the url will be issued at. Default value is now. (optional)

URL이 발급될 날짜 객체입니다. 기본값은 지금입니다. (선택 사항)

callback(err, presignedUrl)

callback(err, presignedUrl)

function

function

Callback function is called with non null err value in case of error. presignedUrl will be the URL using which the object can be downloaded using GET request. If no callback is passed, a Promise is returned.

오류가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. presignedUrl은 GET 요청을 사용하여 객체를 다운로드할 수 있는 URL입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

// expires in a day.

// 하루 안에 만료됩니다.

minioClient.presignedGetObject('mybucket', 'hello.txt', 24*60*60, function(err, presignedUrl) { if (err) return console.log(err) console.log(presignedUrl) })presignedPutObject(bucketName, objectName, expiry[, callback])

Generates a presigned URL for HTTP PUT operations. Browsers/Mobile clients may point to this URL to upload objects directly to a bucket even if it is private.

HTTP PUT 작업을 위해 사전 서명된 URL을 생성합니다. 브라우저/모바일 클라이언트는 이 URL을 가리켜 비공개인 경우에도 버킷에 직접 객체를 업로드할 수 있습니다.

This presigned URL can have an associated expiration time in seconds after which the URL is no longer valid. The default value is 7 days.

이 사전 서명된 URL은 해당 URL이 더 이상 유효하지 않게 된 이후의 만료 시간(초)을 가질 수 있습니다. 기본값은 7일입니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

objectName

objectName

string

string

Name of the object.

객체의 이름

expiry

expiry

number

number

Expiry time in seconds. Default value is 7 days. (optional)

만료 시간은 초 단위입니다. 기본값은 7 일입니다. (선택 사항)

callback(err, presignedUrl)

callback(err, presignedUrl)

function

function

Callback function is called with non null err value in case of error. presignedUrl will be the URL using which the object can be uploaded using PUT request. If no callback is passed, a Promise is returned.

오류가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. presignedUrl은 PUT 요청을 사용하여 객체를 업로드할 수 있는 URL입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

// expires in a day.

// 하루 안에 만료됩니다.

minioClient.presignedPutObject('mybucket', 'hello.txt', 24*60*60, function(err, presignedUrl) { if (err) return console.log(err) console.log(presignedUrl) })

presignedPostPolicy(policy[, callback])

presignedPostPolicy (정책[, 콜백])

Allows setting policy conditions to a presigned URL for POST operations. Policies such as bucket name to receive object uploads, key name prefixes, expiry policy may be set.

POST 작업을 위해 사전 서명된 URL에 정책 조건을 설정할 수 있습니다. 객체 업로드를 수신하기 위한 버킷 이름, 키 이름 접두사, 만료 정책과 같은 정책을 설정할 수 있습니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

policy

policy

object

object

Policy object created by minioClient.newPostPolicy()

minioClient.newPostPolicy()에 의해 생성된 정책 객체

callback(err, {postURL, formData})

callback(err, {postURL, formData})

function

function

Callback function is called with non null err value in case of error. postURL will be the URL using which the object can be uploaded using POST request. formData is the object having key/value pairs for the Form data of POST body. If no callback is passed, a Promise is returned.

오류가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. postURL은 POST 요청을 사용하여 객체를 업로드할 수 있는 URL입니다. formData는 POST 본문의 Form 데이터에 대한 키/값 쌍을 갖는 객체입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Create policy:

정책을 만듭니다:

var policy = minioClient.newPostPolicy()

Apply upload policy restrictions:

업로드 정책 제한 사항을 적용합니다.

// Policy restricted only for bucket 'mybucket'.

// 'mybucket' 버킷에 대해서만 정책이 제한됩니다.

policy.setBucket('mybucket')

// Policy restricted only for hello.txt object.

// hello.txt 객체에 대해서만 정책이 제한됩니다.

policy.setKey('hello.txt')

or

또는

// Policy restricted for incoming objects with keyPrefix.

// keyPrefix가 있는 수신 객체에 대해 정책이 제한됩니다.

policy.setKeyStartsWith('keyPrefix') var expires = new Date expires.setSeconds(24 * 60 * 60 * 10)

// Policy expires in 10 days.

// 정책은 10일 후에 만료됩니다.

policy.setExpires(expires)

// Only allow 'text'.

// '텍스트'만 허용합니다.

policy.setContentType('text/plain')

// Only allow content size in range 1KB to 1MB.

// 1KB~1MB 범위의 콘텐츠 크기만 허용합니다.

policy.setContentLengthRange(1024, 1024*1024)

POST your content from the browser using superagent:

superagent를 사용하여 브라우저에서 컨텐츠를 게시하세요.

minioClient.presignedPostPolicy(policy, function(err, data) { if (err) return console.log(err) var req = superagent.post(data.postURL) _.each(data.formData, function(value, key) { req.field(key, value) })

// file contents.

// 파일 내용.

req.attach('file', '/path/to/hello.txt', 'hello.txt') req.end(function(err, res) { if (err) { return console.log(err.toString()) } console.log('Upload successful.') }) })

5. Bucket Policy & Notification operations

5. 버킷 정책 및 알림 작업

Buckets are configured to trigger notifications on specified types of events and paths filters.

버킷은 지정된 유형의 이벤트 및 경로 필터에 대한 알림을 트리거하도록 구성됩니다.

getBucketNotification(bucketName[, cb])

Fetch the notification configuration stored in the S3 provider and that belongs to the specified bucket name.

S3 공급자에 저장되어 있고 지정된 버킷 이름에 속하는 알림 구성을 가져옵니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

callback(err, bucketNotificationConfig)

callback(err, bucketNotificationConfig)

function

function

Callback function is called with non null err value in case of error. bucketNotificationConfig will be the object that carries all notification configurations associated to bucketName. If no callback is passed, a Promise is returned.

오류가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. bucketNotificationConfig는 bucketName과 관련된 모든 알림 구성을 전달하는 객체입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

minioClient.getBucketNotification('mybucket', function(err, bucketNotificationConfig) { if (err) return console.log(err) console.log(bucketNotificationConfig) })setBucketNotification(bucketName, bucketNotificationConfig[, callback])

Upload a user-created notification configuration and associate it to the specified bucket name.

사용자가 생성한 알림 구성을 업로드하고 이를 지정된 버킷 이름에 연결합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

bucketNotificationConfig

bucketNotificationConfig

BucketNotification

BucketNotification

Javascript object that carries the notification configuration.

알림 구성을 전달하는 Javascript 객체입니다.

callback(err)

callback(err)

function

function

Callback function is called with non null err value in case of error. If no callback is passed, a Promise is returned.

오류가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

Example

// Create a new notification object

// 새로운 알림 객체 생성

var bucketNotification = new Minio.NotificationConfig();

// Setup a new Queue configuration

// 새로운 대기열 구성 설정

var arn = Minio.buildARN('aws', 'sqs', 'us-west-2', '1', 'webhook') var queue = new Minio.QueueConfig(arn) queue.addFilterSuffix('.jpg') queue.addFilterPrefix('myphotos/') queue.addEvent(Minio.ObjectReducedRedundancyLostObject) queue.addEvent(Minio.ObjectCreatedAll)

// Add the queue to the overall notification object

// 전체 알림 객체에 대기열을 추가합니다

bucketNotification.add(queue) minioClient.setBucketNotification('mybucket', bucketNotification, function(err) { if (err) return console.log(err) console.log('Success') })removeAllBucketNotification(bucketName[, callback])

Remove the bucket notification configuration associated to the specified bucket.

지정된 버킷과 연결된 버킷 알림 구성을 제거합니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket.

버킷의 이름

callback(err)

callback(err)

function

function

Callback function is called with non null err value in case of error. If no callback is passed, a Promise is returned.

에러가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

minioClient.removeAllBucketNotification('my-bucketname', function(e) { if (e) { return console.log(e) } console.log("True") })listenBucketNotification(bucketName, prefix, suffix, events)

Listen for notifications on a bucket. Additionally one can provider filters for prefix, suffix and events. There is no prior set bucket notification needed to use this API.

버킷에 대한 알림을 수신합니다. 또한 접두사, 접미사 및 이벤트에 대한 필터를 제공할 수 있습니다. 이 API를 사용하는 데 필요한 사전 설정된 버킷 알림은 없습니다.

This is an MinIO extension API where unique identifiers are regitered and unregistered by the server automatically based on incoming requests.

들어오는 요청에 따라 고유 식별자가 서버에 의해 자동으로 등록 및 등록 취소되는 MinIO 확장 API입니다.

Returns an EventEmitter, which will emit a notification event carrying the record. To stop listening, call .stop() on the returned EventEmitter.

레코드를 전달하는 알림 이벤트를 내보내는 EventEmitter를 반환합니다. 듣기를 중지하려면 반환된 EventEmitter에서 .stop()을 호출하세요.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket

버킷의 이름

prefix

prefix

string

string

Object key prefix to filter notifications for.

알림을 필터링할 객체 키 접두사입니다.

suffix

suffix

string

string

Object key suffix to filter notifications for.

알림을 필터링할 객체 키 접미사입니다.

events

events

Array

Array

Enables notifications for specific event types.

특정 이벤트 유형에 대한 알림을 활성화합니다.

See here for a full example.

전체 예를 보려면 여기를 참조하세요.

var listener = minioClient.listenBucketNotification('my-bucketname', 'photos/', '.jpg', ['s3:ObjectCreated:*']) listener.on('notification', function(record) { // For example: 's3:ObjectCreated:Put event occurred (2016-08-23T18:26:07.214Z)' console.log('%s event occurred (%s)', record.eventName, record.eventTime) listener.stop() })getBucketPolicy(bucketName [, callback])

Get the bucket policy associated with the specified bucket. If objectPrefix is not empty, the bucket policy will be filtered based on object permissions as well.

지정된 버킷과 연결된 버킷 정책을 가져옵니다. objectPrefix가 비어 있지 않으면 버킷 정책도 객체 권한을 기준으로 필터링됩니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket

버킷의 이름

callback(err, policy)

callback(err, policy)

function

function

Callback function is called with non null err value in case of error. policy is bucket policy. If no callback is passed, a Promise is returned.

에러가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. 정책은 버킷 정책입니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

// Retrieve bucket policy of 'my-bucketname'

// 'my-bucketname'의 버킷 정책을 검색합니다

minioClient.getBucketPolicy('my-bucketname', function(err, policy) { if (err) throw err console.log(`Bucket policy file: ${policy}`) })setBucketPolicy(bucketName, bucketPolicy[, callback])

Set the bucket policy on the specified bucket. bucketPolicy is detailed here.

지정된 버킷에 버킷 정책을 설정합니다. bucketPolicy는 여기에 자세히 설명되어 있습니다.

Parameters

매개변수

Param

Param

Type

Type

Description

설명

bucketName

bucketName

string

string

Name of the bucket

버킷의 이름

bucketPolicy

bucketPolicy

string

string

bucket policy. @K] [@K 버킷 정책. @K] [@E callback(err)

callback(err)

function

function

Callback function is called with non null err value in case of error. If no callback is passed, a Promise is returned.

에러가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

string

string

Name of the bucket.

버킷의 이름

bucketPolicy

bucketPolicy

string

string

bucket policy. @K] [@K 버킷 정책. @K] [@E callback(err)

callback(err)

function

function

Callback function is called with non null err value in case of error. If no callback is passed, a Promise is returned.

에러가 발생한 경우 null이 아닌 오류 값으로 콜백 함수가 호출됩니다. 콜백이 전달되지 않으면 Promise가 반환됩니다.

// Set the bucket policy of `my-bucketname`

// `my-bucketname`의 버킷 정책을 설정합니다

minioClient.setBucketPolicy('my-bucketname', JSON.stringify(policy), function(err) { if (err) throw err console.log('Bucket policy set') })

6. HTTP request options

6. HTTP 요청 옵션

setRequestOptions(options)

Set the HTTP/HTTPS request options. Supported options are agent (http.Agent()), family (IP address family to use while resolving host or hostname), and tls related options ('agent', 'ca', 'cert', 'ciphers', 'clientCertEngine', 'crl', 'dhparam', 'ecdhCurve', 'honorCipherOrder', 'key', 'passphrase', 'pfx', 'rejectUnauthorized', 'secureOptions', 'secureProtocol', 'servername', 'sessionIdContext') documented here

HTTP/HTTPS 요청 옵션을 설정합니다. 지원되는 옵션은 에이전트 (http.Agent()), 제품군 (호스트 또는 호스트 이름을 확인하는 동안 사용할 IP 주소 제품군) 및 TLS 관련 옵션 ('agent', 'ca', 'cert', 'ciphers', 'clientCertEngine')입니다. 'crl', 'dhparam', 'ecdhCurve', 'honorCipherOrder', 'key', 'passphrase', 'pfx', 'rejectUnauthorized', 'secureOptions', 'secureProtocol', 'servername', 'sessionIdContext')은 여기에 문서화되었습니다.

// Do not reject self signed certificates.

// 자체 서명된 인증서를 거부하지 마십시오.

minioClient.setRequestOptions({rejectUnauthorized: false})

7. Explore Further

7. 더 자세히 살펴보세요

Build your own Shopping App Example

귀하만의 쇼핑 앱 예시 구축