kura-s3
Version:
The FileSystem API abstraction library, AWS S3 Plugin
44 lines • 2.04 kB
TypeScript
/// <reference types="node" />
import S3, { ClientConfiguration } from "aws-sdk/clients/s3";
import { AbstractAccessor, FileSystem, FileSystemObject } from "kura";
import { FileSystemOptions } from "kura/lib/FileSystemOptions";
import { S3FileSystemOptions } from "./S3FileSystemOption";
export declare class S3Accessor extends AbstractAccessor {
private config;
private bucket;
private rootDir;
private s3Options?;
private urlCache;
filesystem: FileSystem;
name: string;
s3: S3;
constructor(config: ClientConfiguration, bucket: string, rootDir: string, s3Options?: S3FileSystemOptions);
createIndexDir(dirPath: string): string;
doDelete(fullPath: string, isFile: boolean): Promise<void>;
doGetObject(fullPath: string, isFile: boolean): Promise<FileSystemObject>;
doGetObjects(dirPath: string): Promise<FileSystemObject[]>;
doMakeDirectory(_fullPath: string): Promise<void>;
doReadContent(fullPath: string): Promise<Blob | BufferSource | string>;
getURL(fullPath: string, method?: "GET" | "POST" | "PUT" | "DELETE"): Promise<string>;
protected doWriteArrayBuffer(fullPath: string, buffer: ArrayBuffer): Promise<void>;
protected doWriteBase64(fullPath: string, base64: string): Promise<void>;
protected doWriteBlob(fullPath: string, blob: Blob): Promise<void>;
protected doWriteBuffer(fullPath: string, buffer: Buffer): Promise<void>;
protected initialize(options: FileSystemOptions): void;
protected initializeIndexOptions(options: FileSystemOptions): void;
private doReadContentUsingGetObject;
private doReadContentUsingXHR;
private doReadObjectsFromS3;
private doWriteContentToS3;
private doWriteContentUsingPutObject;
private doWriteContentUsingUpload;
private doWriteContentUsingUploadPart;
private doWriteContentUsingXHR;
private fromBody;
private getKey;
private getSignedUrl;
private handleNotFoundErrorS3;
private isNotFoundError;
private toBody;
}
//# sourceMappingURL=S3Accessor.d.ts.map