@tweedegolf/sab-adapter-azure-blob
Version:
Provides an abstraction layer for interacting with Microsoft Azure Blob Storage cloud service.
32 lines (31 loc) • 2.07 kB
TypeScript
import { BlobServiceClient } from "@azure/storage-blob";
import { AbstractAdapter } from "./AbstractAdapter";
import { Options, StreamOptions, StorageType } from "./types/general";
import { FileBufferParams, FilePathParams, FileStreamParams } from "./types/add_file_params";
import { ResultObject, ResultObjectBoolean, ResultObjectBuckets, ResultObjectFiles, ResultObjectNumber, ResultObjectStream } from "./types/result";
import { AdapterConfigAzureBlob } from "./types/adapter_azure_blob";
export declare class AdapterAzureBlob extends AbstractAdapter {
protected _type: StorageType;
protected _config: AdapterConfigAzureBlob;
protected _configError: string | null;
protected _client: BlobServiceClient;
private sharedKeyCredential;
constructor(config: string | AdapterConfigAzureBlob);
protected _getFileAsStream(bucketName: string, fileName: string, options: StreamOptions): Promise<ResultObjectStream>;
protected _getFileAsURL(bucketName: string, fileName: string, options: Options): Promise<ResultObject>;
protected _clearBucket(name: string): Promise<ResultObject>;
protected _deleteBucket(name: string): Promise<ResultObject>;
protected _listFiles(bucketName: string, numFiles: number): Promise<ResultObjectFiles>;
protected _addFile(params: FilePathParams | FileBufferParams | FileStreamParams): Promise<ResultObject>;
protected _removeFile(bucketName: string, fileName: string, allVersions: boolean): Promise<ResultObject>;
protected _sizeOf(bucketName: string, fileName: string): Promise<ResultObjectNumber>;
protected _bucketExists(name: string): Promise<ResultObjectBoolean>;
protected _fileExists(bucketName: string, fileName: string): Promise<ResultObjectBoolean>;
private _getBlobDomain;
get config(): AdapterConfigAzureBlob;
getConfig(): AdapterConfigAzureBlob;
get serviceClient(): BlobServiceClient;
getServiceClient(): BlobServiceClient;
listBuckets(): Promise<ResultObjectBuckets>;
createBucket(name: string, options?: Options): Promise<ResultObject>;
}