Skip to main content

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

Class: FileSender

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

Extends

Implements

  • RouteSenderAPI

Constructors

Constructor

new FileSender(config, logger): FileSender

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

Parameters

ParameterType
configChunkedFileSenderConfig
loggerLogger

Returns

FileSender

Overrides

ChunkedFileSender.constructor

Properties

PropertyModifierTypeDefault valueInherited fromDefined in
configreadonlyChunkedFileSenderConfigundefinedChunkedFileSender.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:15

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:57

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