@nos-sdk/nos-node-sdk
Version:
NOS Node.js SDK实现了NOS对象操作接口,基于此SDK能方便快速地实现JavaScript应用程序来使用NOS的对象存储服务。
64 lines (63 loc) • 3.16 kB
TypeScript
/// <reference types="node" />
import { NosBaseClient } from '../client';
import { Callback } from '../type/callback';
import { CopyObjectParams, DeleteMultiObjectErrorInfo, DeleteMultiObjectParams, DeleteObjectParams, GetObjectBufferParams, GetObjectStreamParams, GetObjectStringParams, GetObjectUrlParams, HeadObjectParams, HeadObjectResult, ListObjectParams, ListObjectResult, MoveObjectParams, OperateObjectParams, PutObjectParams, PutObjectResult } from '../type/object';
export declare class NosClientObjectExt extends NosBaseClient {
/**
* 获取对象列表
*/
listObject(params?: ListObjectParams): Promise<ListObjectResult>;
listObject(params: ListObjectParams, cb: Callback<ListObjectResult>): void;
/**
* 上传对象
*/
putObject(params: PutObjectParams): Promise<PutObjectResult>;
putObject(params: PutObjectParams, cb: Callback<PutObjectResult>): void;
/**
* 获取对象内容。支持以 Buffer/string/Stream 的形式返回,建议使用 Stream 形式。
* 如果你能确保返回的文件大小在合理的范围,不会导致占用过多的内容,比如说一张图片,一个文本文件等,
* 可以直接使用 Buffer 或者 string,否则请使用 Stream
*/
getObject(params: GetObjectStreamParams): Promise<NodeJS.ReadableStream>;
getObject(params: GetObjectBufferParams): Promise<Buffer>;
getObject(params: GetObjectStringParams): Promise<string>;
getObject(params: GetObjectStreamParams, cb: Callback<NodeJS.ReadableStream>): void;
getObject(params: GetObjectBufferParams, cb: Callback<Buffer>): void;
getObject(params: GetObjectStringParams, cb: Callback<string>): void;
/**
* 获取对象元信息。类似于 HTTP head 操作。
*/
headObject(params: HeadObjectParams): Promise<HeadObjectResult>;
headObject(params: HeadObjectParams, cb: Callback<HeadObjectResult>): void;
/**
* 检查文件是否存在
*/
isObjectExist(params: OperateObjectParams): Promise<boolean>;
isObjectExist(params: OperateObjectParams, cb: Callback<boolean>): void;
/**
* 复制对象
*/
copyObject(params: CopyObjectParams): Promise<void>;
copyObject(params: CopyObjectParams, cb: Callback<void>): void;
/**
* 获取对象的可访问 Url
*/
getObjectUrl(params: GetObjectUrlParams): Promise<string>;
getObjectUrl(params: GetObjectUrlParams, cb: Callback<string>): void;
/**
* 删除对象
*/
deleteObject(params: DeleteObjectParams): Promise<void>;
deleteObject(params: DeleteObjectParams, cb: Callback<void>): void;
/**
* 移动对象
*/
moveObject(params: MoveObjectParams): Promise<void>;
moveObject(params: MoveObjectParams, cb: Callback<void>): void;
/**
* 批量删除对象。
* @return errors 删除失败的错误列表
*/
deleteMultiObject(params: DeleteMultiObjectParams): Promise<DeleteMultiObjectErrorInfo[]>;
deleteMultiObject(params: DeleteMultiObjectParams, cb: Callback<DeleteMultiObjectErrorInfo[]>): void;
}