Skip to main content

@terascope/file-asset-apis / file/file-sender / FileSender

Class: FileSender

Defined in: file/file-sender.ts:7

Extends​

Implements​

  • RouteSenderAPI

Constructors​

Constructor​

new FileSender(config, logger): FileSender

Defined in: file/file-sender.ts:8

Parameters​

ParameterType
configChunkedFileSenderAPIConfig
loggerLogger

Returns​

FileSender

Overrides​

ChunkedFileSender.constructor

Properties​

PropertyModifierTypeDefault valueInherited fromDefined in
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


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: file/file-sender.ts:16

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: file/file-sender.ts:58

This method makes sure a directory exists, will throw if it does not exist

Parameters​

ParameterType
route?string

Returns​

Promise<void>

Example​

fileSender.verify('some/path') => Promise<void>
fileSender.verify('some/path/that/does/not/exist) => Error

Implementation of​

RouteSenderAPI.verify

Overrides​

ChunkedFileSender.verify