Skip to main content

@terascope/file-asset-apis / s3/s3-sender / S3Sender

Class: S3Sender

Defined in: s3/s3-sender.ts:25

Extends​

Implements​

  • RouteSenderAPI

Constructors​

Constructor​

new S3Sender(client, config, logger): S3Sender

Defined in: s3/s3-sender.ts:28

Parameters​

ParameterType
clientS3Client
configChunkedFileSenderAPIConfig
loggerLogger

Returns​

S3Sender

Overrides​

ChunkedFileSender.constructor

Properties​

PropertyModifierTypeDefault valueInherited fromDefined in
clientpublicS3Clientundefined-s3/s3-sender.ts:26
configreadonlyChunkedFileSenderAPIConfigundefinedChunkedFileSender.configbase/chunked-file-sender.ts:56
formatterprotectedFormatterundefinedChunkedFileSender.formatterbase/chunked-file-sender.ts:53
loggerreadonlyLoggerundefinedChunkedFileSender.loggerbase/chunked-file-sender.ts:57
pathListreadonlyMap<string, boolean>undefinedChunkedFileSender.pathListbase/chunked-file-sender.ts:54
sliceCountprotectednumber-1ChunkedFileSender.sliceCountbase/chunked-file-sender.ts:51
typereadonlyFileSenderTypeundefinedChunkedFileSender.typebase/chunked-file-sender.ts:55

Accessors​

concurrency​

Get Signature​

get concurrency(): number

Defined in: base/chunked-file-sender.ts:103

Returns​

number

Inherited from​

ChunkedFileSender.concurrency


filePerSlice​

Get Signature​

get filePerSlice(): boolean

Defined in: base/chunked-file-sender.ts:111

Returns​

boolean

Inherited from​

ChunkedFileSender.filePerSlice


format​

Get Signature​

get format(): Format

Defined in: base/chunked-file-sender.ts:115

Returns​

Format

Inherited from​

ChunkedFileSender.format


id​

Get Signature​

get id(): string

Defined in: base/chunked-file-sender.ts:91

Returns​

string

Inherited from​

ChunkedFileSender.id


isRouter​

Get Signature​

get isRouter(): boolean

Defined in: base/chunked-file-sender.ts:99

Returns​

boolean

Inherited from​

ChunkedFileSender.isRouter


lineDelimiter​

Get Signature​

get lineDelimiter(): string

Defined in: base/chunked-file-sender.ts:107

Returns​

string

Inherited from​

ChunkedFileSender.lineDelimiter


nameOptions​

Get Signature​

get nameOptions(): NameOptions

Defined in: base/chunked-file-sender.ts:119

Returns​

NameOptions

Inherited from​

ChunkedFileSender.nameOptions


path​

Get Signature​

get path(): string

Defined in: base/chunked-file-sender.ts:95

Returns​

string

Inherited from​

ChunkedFileSender.path

Methods​

createFileDestinationName()​

createFileDestinationName(filePath): Promise<string>

Defined in: base/chunked-file-sender.ts:154

Ensures the root destination file path exists and returns the full destination file path.

Parameters​

ParameterType
filePathstring

Returns​

Promise<string>

Note​

this API might change since it should not have knowledge of the different sender types

Inherited from​

ChunkedFileSender.createFileDestinationName


ensureBucket()​

ensureBucket(): Promise<void>

Defined in: s3/s3-sender.ts:124

Used to verify that the bucket exists, will attempt to create one if it does not exist

Returns​

Promise<void>


incrementCount()​

protected incrementCount(): void

Defined in: base/chunked-file-sender.ts:236

Increases the internal sliceCount used to create filenames, this is already executed in the "send" method, do not use unless you are implementing your own send logic

Returns​

void

Inherited from​

ChunkedFileSender.incrementCount


joinPath()​

protected joinPath(route?): string

Defined in: base/chunked-file-sender.ts:177

Method to help create proper file paths, mainly used in the abstract "verify" method

Parameters​

ParameterType
route?string

Returns​

string

Inherited from​

ChunkedFileSender.joinPath


prepareDispatch()​

prepareDispatch(data): Promise<SendBatchConfig[]>

Defined in: base/chunked-file-sender.ts:192

Batches records in a slice into groups based on the "path" config or by the DataEntity metadata 'standard:route' override if dynamic routing is being used, this is called in the "send" method

Parameters​

ParameterType
dataSendRecords

Returns​

Promise<SendBatchConfig[]>

Inherited from​

ChunkedFileSender.prepareDispatch


send()​

send(records): Promise<number>

Defined in: base/chunked-file-sender.ts:251

Write data to file, uses parent "sendToDestination" method to determine location

Parameters​

ParameterType
recordsSendRecords

Returns​

Promise<number>

Example​

s3Sender.send([{ some: 'data' }]) => Promise<void>
s3Sender.send([DataEntity.make({ some: 'data' })]) => Promise<void>

Implementation of​

RouteSenderAPI.send

Inherited from​

ChunkedFileSender.send


sendToDestination()​

protected sendToDestination(__namedParameters): Promise<void>

Defined in: s3/s3-sender.ts:38

This is a low level API, it is not meant to be used externally, please use the "send" method instead

Parameters​

ParameterType
__namedParametersSendBatchConfig

Returns​

Promise<void>

Overrides​

ChunkedFileSender.sendToDestination


simpleSend()​

simpleSend(records): Promise<void>

Defined in: base/chunked-file-sender.ts:283

Write data to file, uses parent "sendToDestination" method to determine location. Use this to avoid having to bucket the data into different paths. Normally you don't want this but it can be used in specific case.

Parameters​

ParameterType
recordsSendRecords

Returns​

Promise<void>

Example​

s3Sender.simpleSend([{ some: 'data' }]) => Promise<void>
s3Sender.simpleSend([DataEntity.make({ some: 'data' })]) => Promise<void>

Inherited from​

ChunkedFileSender.simpleSend


verify()​

verify(_route): Promise<void>

Defined in: s3/s3-sender.ts:152

This is currently a noop, may change in future and work to ensure dynamic bucket exists

Parameters​

ParameterType
_routestring

Returns​

Promise<void>

Implementation of​

RouteSenderAPI.verify

Overrides​

ChunkedFileSender.verify