UNPKG

@mwcp/ali-oss

Version:
141 lines (140 loc) 5.82 kB
import type { TraceService } from '@mwcp/otel'; import { FnKey } from '@yuntools/ali-oss'; import type { BaseOptions, DataBase, DataCp, DataDownload, DataSign, DataStat, ProcessRet } from '@yuntools/ali-oss'; import type { CpOptions, DownloadOptions, InstanceConfig, LinkOptions, MkdirOptions, MvOptions, RmOptions, RmrfOptions, SignOptions, StatOptions, SyncLocalOptions, SyncRemoteOptions, UploadOptions } from './types.js'; /** 阿里云 OSS oss-utils 命令行封装组件 */ export declare class AliOssComponent { protected readonly config: InstanceConfig; traceService: TraceService; private readonly client; private readonly querySpanMap; constructor(config: InstanceConfig); /** * 拷贝文件, * - 拷贝本地文件/目录到远程建议使用 `upload()` 或者 `syncRemote()` 方法 * - 拷贝远程文件/目录到本地建议使用 `download()` 或者 `syncLocal()` 方法 * * 若 force 为空或者 false,且目标文件存在时会卡在命令行提示输入阶段(无显示)最后导致超时异常 * @link https://help.aliyun.com/document_detail/120057.html */ cp( /** 本地文件、目录或者远程 OSS 对象 */ src: string, /** OSS 对象,不包括 bucket */ target: string, options?: CpOptions): Promise<ProcessRet<DataCp>>; /** * 上传本地文件到 OSS * 若 force 为空或 false,且目标文件存在时会卡在命令行提示输入阶段(无显示)最后导致超时异常 * @link https://help.aliyun.com/document_detail/120057.html */ upload( /** 本地目录或文件 */ src: string, /** OSS 对象,不包括 bucket */ target: string, options?: UploadOptions): Promise<ProcessRet<DataCp>>; /** * 下载远程文件到本地 * 若 force 为空或 false,且目标文件存在时会卡在命令行提示输入阶段(无显示)最后导致超时异常 * @link https://help.aliyun.com/document_detail/120057.html */ download( /** OSS 对象,不包括 bucket */ src: string, /** 本地目录或文件 */ target: string, options?: DownloadOptions): Promise<ProcessRet<DataDownload>>; /** * 创建软链接 * @link https://help.aliyun.com/document_detail/120059.html */ createSymlink( /** OSS 对象,不包括 bucket */ src: string, /** OSS 软连接对象,不包括 bucket */ target: string, options?: LinkOptions): Promise<ProcessRet>; /** * 创建目录 * @link https://help.aliyun.com/document_detail/120062.html */ mkdir( /** OSS 对象,不包括 bucket */ target: string, options?: MkdirOptions): Promise<ProcessRet>; /** * 移动云端的 OSS 对象 * 流程为先 `cp()` 然后 `rm()` */ mv( /** OSS 源对象,不包括 bucket */ src: string, /** OSS 目的对象,不包括 bucket */ target: string, options?: MvOptions): Promise<ProcessRet<DataStat | DataBase>>; /** * OSS 远程路径是否存在 */ pathExists( /** OSS 对象,不包括 bucket */ target: string, options?: StatOptions): Promise<boolean>; /** * 删除云对象,不支持删除 bucket 本身 * 如果在 recursive 为 false 时删除目录,则目录参数值必须以 '/' 结尾,否则不会删除成功 * @link https://help.aliyun.com/document_detail/120053.html */ rm( /** OSS 对象,不包括 bucket */ target: string, options?: RmOptions): Promise<ProcessRet>; /** * 递归删除,相当于 `rm -rf` * @link https://help.aliyun.com/document_detail/120053.html */ rmrf( /** OSS 对象,不包括 bucket */ target: string, options?: RmrfOptions): Promise<ProcessRet>; /** * sign(生成签名URL) * @link https://help.aliyun.com/document_detail/120064.html */ sign( /** OSS 对象,不包括 bucket */ src: string, options?: SignOptions): Promise<ProcessRet<DataSign>>; /** * 查看 Bucket 和 Object 信息 * @link https://help.aliyun.com/document_detail/120054.html */ stat( /** OSS 对象,不包括 bucket */ target: string, options?: StatOptions): Promise<ProcessRet>; /** * 同步 OSS 文件到本地 * - force 参数默认 true * - 若 force 为 false,且目标文件存在时会卡在命令行提示输入阶段(无显示)最后导致超时异常 * @link https://help.aliyun.com/document_detail/256352.html */ syncLocal( /** OSS 对象,不包括 bucket */ src: string, /** 本地目录 */ target: string, options?: SyncLocalOptions): Promise<ProcessRet<DataCp>>; /** * 同步本地文件到 OSS * - force 参数默认 true * - 若 force 为 false,且目标文件存在时会卡在命令行提示输入阶段(无显示)最后导致超时异常 * @link https://help.aliyun.com/document_detail/193394.html */ syncRemote( /** 本地目录 */ src: string, /** OSS 对象,不包括 bucket */ target: string, options?: SyncRemoteOptions): Promise<ProcessRet<DataCp>>; protected runner<T extends BaseOptions, R extends ProcessRet<DataBase> | boolean = ProcessRet<DataBase>>(options: RunnerOptions<T>): Promise<R>; protected genOptions<T extends BaseOptions>(input: RunnerOptions<T>): _RunnerOption<T>; protected tracer<T extends BaseOptions>(type: 'start' | 'finish' | 'error', id: { time: symbol; }, options: _RunnerOption<T>, err?: Error): Promise<void>; } interface RunnerOptions<T extends BaseOptions> { fnKey: FnKey; options: T | undefined; src: string | undefined; target: string | undefined; } type _RunnerOption<T extends BaseOptions> = InstanceConfig & T; export {};