Skip to content

Commit

Permalink
Merge branch 'master' into tagging-api-ts-migrate
Browse files Browse the repository at this point in the history
  • Loading branch information
prakashsvmx authored Dec 8, 2023
2 parents c69df52 + 51cf376 commit 0f4e535
Show file tree
Hide file tree
Showing 11 changed files with 305 additions and 462 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -190,14 +190,14 @@ The full API Reference is available here.
#### Full Examples : File Object Operations

- [fput-object.js](https://github.com/minio/minio-js/blob/master/examples/fput-object.js)
- [fget-object.js](https://github.com/minio/minio-js/blob/master/examples/fget-object.js)
- [fget-object.mjs](https://github.com/minio/minio-js/blob/master/examples/fget-object.mjs)

#### Full Examples : Object Operations

- [put-object.js](https://github.com/minio/minio-js/blob/master/examples/put-object.js)
- [get-object.js](https://github.com/minio/minio-js/blob/master/examples/get-object.js)
- [get-object.mjs](https://github.com/minio/minio-js/blob/master/examples/get-object.mjs)
- [copy-object.js](https://github.com/minio/minio-js/blob/master/examples/copy-object.js)
- [get-partialobject.js](https://github.com/minio/minio-js/blob/master/examples/get-partialobject.js)
- [get-partialobject.mjs](https://github.com/minio/minio-js/blob/master/examples/get-partialobject.mjs)
- [remove-object.js](https://github.com/minio/minio-js/blob/master/examples/remove-object.js)
- [remove-incomplete-upload.js](https://github.com/minio/minio-js/blob/master/examples/remove-incomplete-upload.js)
- [stat-object.mjs](https://github.com/minio/minio-js/blob/master/examples/stat-object.mjs)
Expand Down
6 changes: 3 additions & 3 deletions README_zh_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,13 +161,13 @@ mc ls play/europetrip/

#### 完整示例 : 操作文件对象
* [fput-object.js](https://github.com/minio/minio-js/blob/master/examples/fput-object.js)
* [fget-object.js](https://github.com/minio/minio-js/blob/master/examples/fget-object.js)
* [fget-object.mjs](https://github.com/minio/minio-js/blob/master/examples/fget-object.mjs)

#### 完整示例 : 操作对象
* [put-object.js](https://github.com/minio/minio-js/blob/master/examples/put-object.js)
* [get-object.js](https://github.com/minio/minio-js/blob/master/examples/get-object.js)
* [get-object.mjs](https://github.com/minio/minio-js/blob/master/examples/get-object.mjs)
* [copy-object.js](https://github.com/minio/minio-js/blob/master/examples/copy-object.js)
* [get-partialobject.js](https://github.com/minio/minio-js/blob/master/examples/get-partialobject.js)
* [get-partialobject.mjs](https://github.com/minio/minio-js/blob/master/examples/get-partialobject.mjs)
* [remove-object.js](https://github.com/minio/minio-js/blob/master/examples/remove-object.js)
* [remove-incomplete-upload.js](https://github.com/minio/minio-js/blob/master/examples/remove-incomplete-upload.js)
* [stat-object.mjs](https://github.com/minio/minio-js/blob/master/examples/stat-object.mjs)
Expand Down
131 changes: 52 additions & 79 deletions docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -861,42 +861,37 @@ s3Client.removeBucketEncryption('my-bucketname', function (err) {

<a name="getObject"></a>

### getObject(bucketName, objectName, getOpts[, callback])
### getObject(bucketName, objectName, getOpts)

Downloads an object as a stream.

**Parameters**

| Param | Type | Description |
| ----------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `bucketName` | _string_ | Name of the bucket. |
| `objectName` | _string_ | Name of the object. |
| `getOpts` | _object_ | Version of the object in the form `{versionId:"my-versionId"}`. Default is `{}`. (optional) |
| `callback(err, stream)` | _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. |
| Param | Type | Description |
| ------------ | -------- | ------------------------------------------------------------------------------------------- |
| `bucketName` | _string_ | Name of the bucket. |
| `objectName` | _string_ | Name of the object. |
| `getOpts` | _object_ | Version of the object in the form `{versionId:"my-versionId"}`. Default is `{}`. (optional) |

**Return Value**

| Param | Type | Description |
| -------- | -------- | ----------------------------------- |
| `stream` | _Stream_ | Stream emitting the object content. |
| Param | Type | Description |
| -------- | ----------------- | ----------------------------------- |
| `stream` | `stream.Readable` | Stream emitting the object content. |

**Example**

```js
let 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)
})
const dataStream = await minioClient.getObject('mybucket', 'photo.jpg')
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)
})
```

Expand All @@ -906,19 +901,15 @@ Get a specific object version.

```js
let size = 0
minioClient.getObject('mybucket', 'photo.jpg', { versionId: 'my-versionId' }, 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)
})
const dataStream = await minioClient.getObject('mybucket', 'photo.jpg', { versionId: 'my-versionId' })
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)
})
```

Expand Down Expand Up @@ -950,19 +941,15 @@ Downloads the specified range bytes of an object as a stream.
```js
let size = 0
// reads 30 bytes from the offset 10.
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)
})
const dataStream = await minioClient.getPartialObject('mybucket', 'photo.jpg', 10, 30)
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)
})
```

Expand All @@ -972,27 +959,16 @@ To get a specific version of an object
```js
const versionedObjSize = 0
// reads 30 bytes from the offset 10.
minioClient.getPartialObject(
'mybucket',
'photo.jpg',
10,
30,
{ versionId: 'my-versionId' },
function (err, dataStream) {
if (err) {
return console.log(err)
}
dataStream.on('data', function (chunk) {
versionedObjSize += chunk.length
})
dataStream.on('end', function () {
console.log('End. Total size = ' + versionedObjSize)
})
dataStream.on('error', function (err) {
console.log(err)
})
},
)
const dataStream = await minioClient.getPartialObject('mybucket', 'photo.jpg', 10, 30, { versionId: 'my-versionId' })
dataStream.on('data', function (chunk) {
versionedObjSize += chunk.length
})
dataStream.on('end', function () {
console.log('End. Total size = ' + versionedObjSize)
})
dataStream.on('error', function (err) {
console.log(err)
})
```

<a name="fGetObject"></a>
Expand Down Expand Up @@ -1981,26 +1957,23 @@ listener.on('notification', function (record) {

<a name="getBucketPolicy"></a>

### getBucketPolicy(bucketName [, callback])
### async getBucketPolicy(bucketName: string): Promise<string>

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.

**Parameters**

| Param | Type | Description |
| ----------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bucketName` | _string_ | Name of the bucket |
| `callback(err, policy)` | _function_ | Callback function is called with non `null` err value in case of error. `policy` is [bucket policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html). If no callback is passed, a `Promise` is returned. |
| Param | Type | Description |
| ------------ | -------- | ------------------ |
| `bucketName` | _string_ | Name of the bucket |

```js
// Retrieve bucket policy of 'my-bucketname'
minioClient.getBucketPolicy('my-bucketname', function (err, policy) {
if (err) throw err
const policy = await minioClient.getBucketPolicy('my-bucketname')

console.log(`Bucket policy file: ${policy}`)
})
console.log(`Bucket policy file: ${policy}`)
```

<a name="setBucketPolicy"></a>
Expand Down
64 changes: 25 additions & 39 deletions docs/zh_CN/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ Stream.on('error', function(err) {
## 3. 操作对象

<a name="getObject"></a>
### getObject(bucketName, objectName[, callback])
### async getObject(bucketName, objectName,[ getOpts]): Promise<stream.Readable>

下载对象。

Expand All @@ -348,63 +348,54 @@ __参数__
|---|---|---|
|`bucketName` | _string_ | 存储桶名称。 |
|`objectName` | _string_ | 对象名称。 |
|`callback(err, stream)` | _function_ | 回调函数,第一个参数是错误信息。`stream`是对象的内容。如果没有传callback的话,则返回一个`Promise`对象|
|`getOpts` | _string_ | 对象名称|

__示例__


```js
let size = 0
minioClient.getObject('mybucket', 'photo.jpg', function(err, dataStream) {
if (err) {
return console.log(err)
}
dataStream.on('data', function(chunk) {
const dataStream = await minioClient.getObject('mybucket', 'photo.jpg')
dataStream.on('data', function(chunk) {
size += chunk.length
})
dataStream.on('end', function() {
})
dataStream.on('end', function() {
console.log('End. Total size = ' + size)
})
dataStream.on('error', function(err) {
})
dataStream.on('error', function(err) {
console.log(err)
})
})
```
<a name="getPartialObject"></a>
### getPartialObject(bucketName, objectName, offset, length[, callback])
### async getPartialObject(bucketName, objectName, offset,[ length, getOpts]): Promise<stream.Readable>

下载对象中指定区间的字节数组,并返回流。

__参数__


| 参数 | 类型 | 描述 |
|---|---|---|
| `bucketName` | _string_ | 存储桶名称。 |
| `objectName` | _string_ | 对象名称。 |
| `offset` | _number_ | `offset`是从第几个字节始 |
| `length` | _number_ | `length`是要下载的字节数组长度(可选值,如果为空的话则代表从offset一直到文件的末尾)。 |
|`callback(err, stream)` | _function_ | 回调函数,第一个参数是错误信息。`stream`是对象的内容。如果没有传callback的话,则返回一个`Promise`对象。 |

| 参数 | 类型 | 描述 |
|---|---|----------------------------------------------------|
| `bucketName` | _string_ | 存储桶名称。 |
| `objectName` | _string_ | 对象名称。 |
| `offset` | _number_ | `offset`是从第几个字节始 |
| `length` | _number_ | `length`是要下载的字节数组长度(可选值,如果为空的话则代表从offset一直到文件的末尾)。 |
| `getOpts` | object| 获取对象时的额外选项,例如:`{versionId: '...'}` |
__示例__


```js
let size = 0
// reads 30 bytes from the offset 10.
minioClient.getPartialObject('mybucket', 'photo.jpg', 10, 30, function(err, dataStream) {
if (err) {
return console.log(err)
}
dataStream.on('data', function(chunk) {
const dataStream = await minioClient.getPartialObject('mybucket', 'photo.jpg', 10, 30)
dataStream.on('data', function(chunk) {
size += chunk.length
})
dataStream.on('end', function() {
})
dataStream.on('end', function() {
console.log('End. Total size = ' + size)
})
dataStream.on('error', function(err) {
})
dataStream.on('error', function(err) {
console.log(err)
})
})
```

Expand Down Expand Up @@ -950,7 +941,7 @@ listener.on('notification', function(record) {
```

<a name="getBucketPolicy"></a>
### getBucketPolicy(bucketName, objectPrefix[, callback])
### async getBucketPolicy(bucketName: string): Promise<string>

获取指定存储桶的访问策略,如果`objectPrefix`不为空,则会取相应对象前缀上的访问策略。

Expand All @@ -960,18 +951,13 @@ __参数__
| 参数 | 类型 | 描述 |
|---|---|---|
| `bucketName` | _string_ | 存储桶名称。 |
| `objectPrefix` | _string_ | 用于过滤的对象前缀,`''`代表整个存储桶。 |
| `callback(err, policy)` | _function_ | 如果`err`不是null则代表有错误。`policy`是存储桶策略的字符串表示(`minio.Policy.NONE``minio.Policy.READONLY``minio.Policy.WRITEONLY`,或者`minio.Policy.READWRITE`). 如果没有传callback的话,则返回一个`Promise`对象。 |


```js
// Retrieve bucket policy of 'my-bucketname' that applies to all objects that
// start with 'img-'.
minioClient.getBucketPolicy('my-bucketname', 'img-', function(err, policy) {
if (err) throw err
const policy = await minioClient.getBucketPolicy('my-bucketname')

console.log(`Bucket policy: ${policy}`)
})
console.log(`Bucket policy file: ${policy}`)
```

<a name="setBucketPolicy"></a>
Expand Down
24 changes: 6 additions & 18 deletions examples/fget-object.js → examples/fget-object.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,11 @@ const s3Client = new Minio.Client({
})

// Get a full object.
s3Client.fGetObject('my-bucketname', 'my-objectname', '/tmp/objfile', function (e) {
if (e) {
return console.log(e)
}
console.log('done')
})
await s3Client.fGetObject('my-bucketname', 'my-objectname', '/tmp/objfile')
console.log('done')

//To get a specific version of an object
s3Client.fGetObject(
'my-bucketname',
'my-objectname',
'/tmp/objfile',
{ versionId: '03fd1247-90d9-4b71-a27e-209d484a234b' },
function (e) {
if (e) {
return console.log(e)
}
console.log('success')
},
)
await s3Client.fGetObject('my-bucketname', 'my-objectname', '/tmp/objfile', {
versionId: '03fd1247-90d9-4b71-a27e-209d484a234b',
})
console.log('success')
Loading

0 comments on commit 0f4e535

Please sign in to comment.