Skip to main content

QS3StorageEngine

@quik/storage


@quik/storage / QS3StorageEngine

Class: QS3StorageEngine

Defined in: storage/src/engine/QS3StorageEngine.ts:30

Extends​

Constructors​

Constructor​

new QS3StorageEngine(): QS3StorageEngine

Defined in: storage/src/engine/QS3StorageEngine.ts:36

Returns​

QS3StorageEngine

Overrides​

QStorageEngineBase.constructor

Properties​

_client?​

protected optional _client?: S3

Defined in: storage/src/engine/QS3StorageEngine.ts:34

AWS S3 client instance.


_name​

protected _name: string

Defined in: storage/src/engine/QStorageEngineBase.ts:22

Storage engine name.

Inherited from​

QStorageEngineBase._name


_type​

protected _type: QStorageEngineType = QStorageEngineType.LOCAL

Defined in: storage/src/engine/QStorageEngineBase.ts:34

Storage engine type.

Inherited from​

QStorageEngineBase._type

Accessors​

client​

Get Signature​

get protected client(): S3

Defined in: storage/src/engine/QS3StorageEngine.ts:68

Retrieve the active S3 client.

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Returns​

S3


logger​

Get Signature​

get protected logger(): IQLogger

Defined in: core/src/QObject.ts:15

The logger getter for the object.

Returns​

IQLogger

Inherited from​

QStorageEngineBase.logger


name​

Get Signature​

get name(): string

Defined in: storage/src/engine/QStorageEngineBase.ts:27

Storage engine name.

Returns​

string

Inherited from​

QStorageEngineBase.name


type​

Get Signature​

get type(): QStorageEngineType

Defined in: storage/src/engine/QStorageEngineBase.ts:39

Storage engine type.

Returns​

QStorageEngineType

Inherited from​

QStorageEngineBase.type

Methods​

copy()​

copy(sourcePath, destinationPath): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:294

Copy a file within the same S3 bucket.

Parameters​

sourcePath​

string

Source storage path.

destinationPath​

string

Destination storage path.

Returns​

Promise<void>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.copy


copyTo()​

copyTo(file, targetEngine, targetPath): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:314

Copy a file to another storage engine.

Parameters​

file​

QStorageFile

Source storage file.

targetEngine​

QStorageEngineBase

Target storage engine.

targetPath​

string

Destination path in the target engine.

Returns​

Promise<void>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.copyTo


create()​

create(file, path, fill?): Promise<QStorageFile>

Defined in: storage/src/engine/QStorageEngineBase.ts:86

Save a file and return a refreshed metadata record.

Parameters​

file​

QStorageFile

Storage file to save.

path​

string

Storage path where the file should be stored.

fill?​

boolean = false

Whether to load contents into memory.

Returns​

Promise<QStorageFile>

Inherited from​

QStorageEngineBase.create


detectEncodingFromBuffer()​

protected detectEncodingFromBuffer(buffer): string

Defined in: storage/src/engine/QS3StorageEngine.ts:483

Detect text encoding from file byte order marks.

Parameters​

buffer​

Buffer

Buffer containing the file header.

Returns​

string


endSpan()​

protected endSpan(span): void

Defined in: core/src/QObject.ts:35

End a span returned by startSpan.

Parameters​

span​

TelemetrySpan

The span to end.

Returns​

void

Inherited from​

QStorageEngineBase.endSpan


get()​

get(path, fill?): Promise<QStorageFile>

Defined in: storage/src/engine/QS3StorageEngine.ts:85

Fetch metadata and optionally contents for a stored object.

Parameters​

path​

string

Storage path for the object.

fill?​

boolean = false

Whether to load contents into memory.

Returns​

Promise<QStorageFile>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.get


getSignedDownloadURL()​

getSignedDownloadURL(filePath, expiresIn?): Promise<string>

Defined in: storage/src/engine/QS3StorageEngine.ts:465

Generate a presigned download URL.

Parameters​

filePath​

string

Storage path for the object.

expiresIn?​

number

Expiration time in seconds for the signed URL.

Returns​

Promise<string>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.getSignedDownloadURL


getSignedUploadURL()​

getSignedUploadURL(filePath, expiresIn?): Promise<string>

Defined in: storage/src/engine/QS3StorageEngine.ts:445

Generate a presigned upload URL.

Parameters​

filePath​

string

Storage path for the object.

expiresIn?​

number

Expiration time in seconds for the signed URL.

Returns​

Promise<string>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.getSignedUploadURL


getUrl()​

getUrl(file, expiresIn?): Promise<string>

Defined in: storage/src/engine/QS3StorageEngine.ts:434

Resolve a public URL for an object (presigned).

Parameters​

file​

QStorageFile

Storage file to resolve a URL for.

expiresIn?​

number

Expiration time in seconds for the signed URL.

Returns​

Promise<string>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.getUrl


importFromPath()​

importFromPath(sourcePath, destinationPath, removeSource?): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:402

Upload a file from disk into S3.

Parameters​

sourcePath​

string

OS path to the source file.

destinationPath​

string

Storage path in the bucket.

removeSource?​

boolean = false

Whether to delete the source file after upload.

Returns​

Promise<void>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Throws​

StorageFileNotFoundError when the source file is missing.

Overrides​

QStorageEngineBase.importFromPath


init()​

protected init(): void

Defined in: storage/src/engine/QS3StorageEngine.ts:55

Returns​

void

Overrides​

QStorageEngineBase.init


move()​

move(sourcePath, destinationPath): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:282

Move a file within the same S3 bucket.

Parameters​

sourcePath​

string

Source storage path.

destinationPath​

string

Destination storage path.

Returns​

Promise<void>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.move


moveTo()​

moveTo(file, targetEngine, targetPath): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:332

Move a file to another storage engine.

Parameters​

file​

QStorageFile

Source storage file.

targetEngine​

QStorageEngineBase

Target storage engine.

targetPath​

string

Destination path in the target engine.

Returns​

Promise<void>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.moveTo


new()​

new(path, contents, options?): Promise<QStorageFile>

Defined in: storage/src/engine/QStorageEngineBase.ts:109

Create a new file from raw contents and return refreshed metadata.

Parameters​

path​

string

Storage path where the file should be stored.

contents​

string | Buffer<ArrayBufferLike>

File contents (Buffer or string).

options?​

Additional options.

encoding?​

BufferEncoding

Text encoding when contents is a string and not base64. Defaults to utf-8 when isBase64 is false, otherwise binary.

fill?​

boolean

Whether to return the entity with contents loaded.

isBase64?​

boolean

When true, contents is already base64 encoded. Defaults to true for strings.

mimeType?​

string

Override detected mime type.

Returns​

Promise<QStorageFile>

Inherited from​

QStorageEngineBase.new


read()​

read(file): Promise<QStorageFile>

Defined in: storage/src/engine/QS3StorageEngine.ts:217

Download a file and attach base64 contents.

Parameters​

file​

QStorageFile

Storage file to read.

Returns​

Promise<QStorageFile>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.read


readStream()​

readStream(path): Promise<ReadableStream>

Defined in: storage/src/engine/QS3StorageEngine.ts:249

Stream a file from S3 without buffering.

Parameters​

path​

string

Storage path to read.

Returns​

Promise<ReadableStream>

Throws​

StorageFileNotFoundError when the object is missing.

Overrides​

QStorageEngineBase.readStream


recordSpanError()​

protected recordSpanError(span, err): void

Defined in: core/src/QObject.ts:45

Record an exception on an active span.

Parameters​

span​

TelemetrySpan

The span to record the error on.

err​

unknown

The error to record.

Returns​

void

Inherited from​

QStorageEngineBase.recordSpanError


remove()​

remove(path): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:348

Remove a file from S3.

Parameters​

path​

string

Storage path to remove.

Returns​

Promise<void>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.remove


removeFolder()​

removeFolder(path): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:363

Remove all objects under a prefix.

Parameters​

path​

string

Storage folder prefix to remove.

Returns​

Promise<void>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Overrides​

QStorageEngineBase.removeFolder


save()​

save(file, path): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:134

Upload a file to S3.

Parameters​

file​

QStorageFile

Storage file to upload.

path​

string

Storage path in the bucket.

Returns​

Promise<void>

Throws​

StorageEngineNotEnabledError when S3 is disabled.

Throws​

StorageFileContentsMissingError when there is no content to upload.

Overrides​

QStorageEngineBase.save


saveStream()​

saveStream(path, stream, options?): Promise<void>

Defined in: storage/src/engine/QS3StorageEngine.ts:173

Upload a stream directly to S3.

Parameters​

path​

string

Storage path in the bucket.

stream​

ReadableStream

Streamed contents.

options?​

Optional metadata overrides.

encoding?​

BufferEncoding

mimeType?​

string

size?​

number

Returns​

Promise<void>

Overrides​

QStorageEngineBase.saveStream


setSpanAttribute()​

protected setSpanAttribute(span, key, value): void

Defined in: core/src/QObject.ts:64

Set a single attribute on an active span.

Parameters​

span​

TelemetrySpan

The span to update.

key​

string

Attribute key.

value​

string | number | boolean

Attribute value.

Returns​

void

Inherited from​

QStorageEngineBase.setSpanAttribute


startSpan()​

protected startSpan(spanName, options?): TelemetrySpan

Defined in: core/src/QObject.ts:26

Start a telemetry span for the given operation name. Returns undefined when no telemetry provider is active.

Parameters​

spanName​

string

Name of the span.

options?​

TelemetrySpanOptions

Optional span attributes and kind.

Returns​

TelemetrySpan

Inherited from​

QStorageEngineBase.startSpan