@itwin/object-storage-azure
Version:
Object storage implementation using Azure Blob Storage
41 lines • 2.85 kB
TypeScript
import { Readable } from "stream";
import { BaseDirectory, ContentHeaders, ExpiryOptions, Metadata, MultipartUploadData, MultipartUploadOptions, ObjectDirectory, ObjectProperties, ObjectReference, EntityPageListIterator, ServerStorage, TransferData } from "@itwin/object-storage-core";
import { AzureTransferConfig } from "../common";
import { BlobServiceClientWrapper } from "./wrappers";
export interface AzureServerStorageConfig {
accountName: string;
accountKey: string;
baseUrl: string;
}
export declare class AzureServerStorage extends ServerStorage {
private readonly _config;
private readonly _client;
constructor(config: AzureServerStorageConfig, client: BlobServiceClientWrapper);
download(reference: ObjectReference, transferType: "buffer"): Promise<Buffer>;
download(reference: ObjectReference, transferType: "stream"): Promise<Readable>;
download(reference: ObjectReference, transferType: "local", localPath?: string): Promise<string>;
upload(reference: ObjectReference, data: TransferData, metadata?: Metadata, headers?: ContentHeaders): Promise<void>;
uploadInMultipleParts(reference: ObjectReference, data: MultipartUploadData, options?: MultipartUploadOptions, headers?: ContentHeaders): Promise<void>;
createBaseDirectory(directory: BaseDirectory): Promise<void>;
getListDirectoriesPagedIterator(maxPageSize?: number): EntityPageListIterator<BaseDirectory>;
getListObjectsPagedIterator(directory: BaseDirectory, maxPageSize?: number): EntityPageListIterator<ObjectReference>;
/**
* @deprecated Use listObjects method instead.
*/
list(directory: BaseDirectory): Promise<ObjectReference[]>;
deleteBaseDirectory(directory: BaseDirectory): Promise<void>;
deleteObject(reference: ObjectReference): Promise<void>;
baseDirectoryExists(directory: BaseDirectory): Promise<boolean>;
objectExists(reference: ObjectReference): Promise<boolean>;
updateMetadata(reference: ObjectReference, metadata: Metadata): Promise<void>;
getObjectProperties(reference: ObjectReference): Promise<ObjectProperties>;
getDownloadUrl(reference: ObjectReference, expiry?: ExpiryOptions): Promise<string>;
getUploadUrl(reference: ObjectReference, expiry?: ExpiryOptions): Promise<string>;
getDownloadConfig(directory: ObjectDirectory, expiry?: ExpiryOptions): Promise<AzureTransferConfig>;
getUploadConfig(directory: ObjectDirectory, expiry?: ExpiryOptions): Promise<AzureTransferConfig>;
getDirectoryAccessConfig(directory: ObjectDirectory, expiry?: ExpiryOptions): Promise<AzureTransferConfig>;
copyObject(sourceStorage: ServerStorage, sourceReference: ObjectReference, targetReference: ObjectReference): Promise<void>;
releaseResources(): Promise<void>;
private handleNotFound;
}
//# sourceMappingURL=AzureServerStorage.d.ts.map