4.0.0-beta-2 • Published 5 months ago
awos-js v4.0.0-beta-2
AWOS-JS: Wrapper For Aliyun OSS And Amazon S3
awos for golang: https://github.com/shimohq/awos
feat
- same usage and methods for aws & oss, pretty convenient!
- add retry strategy
- avoid 404 status code:
get(key: string, metaKeys?: string[]): Promise<IGetObjectResponse | null>
will return null when object not existhead(key: string): Promise<Map<string, string> | null>
will null when object not exist
installing
npm i awos-js --save
how to use
// for typescript
import AWOS from 'awos-js'
// for js
const AWOS = require('awos-js')
for Aliyun OSS
import { build } from 'awos-js'
// for v3.*.*
const client = build({
storageType: 'oss',
accessKeyID: "xxx",
accessKeySecret: "xxx",
bucket: "my_bucket",
endpoint: 'endpoint',
})
// for v2.*.*
const client = new AWOS.Client({
type: 'oss',
ossOptions: {
accessKeyId: 'accessKeyId',
accessKeySecret: 'accessKeySecret',
bucket: 'bucket',
endpoint: 'endpoint',
}
})
for AWS-S3 / MINIO
import { build } from 'awos-js'
// for v3.*.*
const client = build({
storageType: 'aws',
accessKeyID: "xxx",
accessKeySecret: "xxx",
// when use aws s3, endpoint is unnecessary and region must be set
endpoint: "https://xxxx.myminio.com",
bucket: "my_bucket",
// when use minio, S3ForcePathStyle must be set true
s3ForcePathStyle: true,
})
// For v2.*.*
const client = new AWOS.Client({
storageType: 'aws',
awsOptions: {
accessKeyId: 'accessKeyId',
secretAccessKey: 'secretAccessKey',
bucket: 'bucket',
// when use minio, S3ForcePathStyle must be set true
// when use aws, endpoint is unnecessary and region must be set
region: "region",
endpoint: 'endpoint',
s3ForcePathStyle: true,
}
})
the available operation:
get(key: string, metaKeys?: string[]): Promise<IGetObjectResponse | null>;
getAsBuffer(key: string, metaKeys: string[]): Promise<IGetBufferedObjectResponse | null>;
put(key: string, data: string | Buffer, options?: IPutObjectOptions): Promise<void>;
del(key: string): Promise<void>;
delMulti(keys: string[]): Promise<string[]>; // return keys not deleted
head(key: string, options?: IHeadOptions): Promise<Map<string, string> | null>;
listObject(key: string, options?: IListObjectOptions): Promise<string[]>;
listDetails(key: string, options?: IListObjectOptions): Promise<IListObjectOutput>;
signatureUrl(key: string, options?: ISignatureUrlOptions): Promise<string | null>;
copy(key: string, source: string, options?: ICopyObjectOptions): Promise<void>;
Change Log
v3.0.0 / 2024-01-18
- Breaking refactor configuration options ⚠️
- support common prefix configuration
v2.0.0 / 2020-06-18
- Breaking
- conbine parameters
meta
,contentType
,headers
ofAWOS.put
intooptions
- conbine parameters
- add
headers
option support forput
method
- Breaking
v1.0.4 / 2019-12-26
- support buffer in get and put operation
v1.0.3 / 2019-03-28
- put() support contentType params
v1.0.2 / 2019-03-26
- support signatureUrl() operation
v1.0.1 / 2019-03-19
- bug fix: oss listObject() should return [] when options.prefix not exist in the bucket; oss listObject() maxKeys not working
4.0.0-beta-2
5 months ago
4.0.0-beta-1
5 months ago
4.0.0-beta
6 months ago
3.2.0
6 months ago
2.2.1
11 months ago
2.2.0
11 months ago
3.1.5
1 year ago
3.1.3
1 year ago
3.1.2
1 year ago
3.1.1
1 year ago
3.1.0
1 year ago
3.1.4
1 year ago
3.0.2
1 year ago
3.0.1
1 year ago
3.0.0
1 year ago
2.1.4-beta.0
2 years ago
2.1.4
2 years ago
2.1.3
3 years ago
2.1.2
3 years ago
2.1.1
4 years ago
2.0.5
4 years ago
2.0.4
4 years ago
2.0.6
4 years ago
2.0.3
4 years ago
2.0.2
4 years ago
2.0.1-alpha.2
5 years ago
2.0.1-alpha.1
5 years ago
2.0.0
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
6 years ago
1.0.2
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago