@itwin/object-storage-s3
Version:
Object storage implementation base for S3 compatible providers
30 lines • 1.83 kB
TypeScript
import { Readable } from "stream";
import { S3Client } from "@aws-sdk/client-s3";
import type { HttpHandlerOptions } from "@aws-sdk/types";
import { BaseDirectory, ContentHeaders, Metadata, MultipartUploadData, MultipartUploadOptions, ObjectProperties, EntityCollectionPage, ObjectReference, TransferData } from "@itwin/object-storage-core";
export declare class S3ClientWrapper {
protected readonly _client: S3Client;
protected readonly _bucket: string;
constructor(_client: S3Client, _bucket: string);
download(reference: ObjectReference, options?: HttpHandlerOptions): Promise<Readable>;
upload(reference: ObjectReference, data?: TransferData, metadata?: Metadata, headers?: ContentHeaders): Promise<void>;
uploadInMultipleParts(reference: ObjectReference, data: MultipartUploadData, options?: MultipartUploadOptions, headers?: ContentHeaders): Promise<void>;
getDirectoriesNextPage(options: {
maxPageSize: number;
continuationToken?: string;
}): Promise<EntityCollectionPage<BaseDirectory>>;
getObjectsNextPage(directory: BaseDirectory, options: {
maxPageSize: number;
continuationToken?: string;
includeEmptyFiles?: boolean;
}): Promise<EntityCollectionPage<ObjectReference>>;
deleteObject(reference: ObjectReference): Promise<void>;
copyObject(bucket: string, sourceReference: ObjectReference, targetReference: ObjectReference): Promise<void>;
updateMetadata(reference: ObjectReference, metadata: Metadata): Promise<void>;
getObjectProperties(reference: ObjectReference): Promise<ObjectProperties>;
objectExists(reference: ObjectReference): Promise<boolean>;
prefixExists(directory: BaseDirectory): Promise<boolean>;
get bucketName(): string;
releaseResources(): void;
}
//# sourceMappingURL=S3ClientWrapper.d.ts.map