@bitblit/epsilon
Version:
Tiny adapter to simplify building API gateway Lambda APIS
27 lines (26 loc) • 1.46 kB
TypeScript
import { SQSClient } from '@aws-sdk/client-sqs';
import { BackgroundEntry } from '../background-entry';
import { BackgroundAwsConfig } from '../../config/background/background-aws-config';
import { InternalBackgroundEntry } from '../internal-background-entry';
import { SNSClient } from '@aws-sdk/client-sns';
import { AwsSqsSnsBackgroundManager } from './aws-sqs-sns-background-manager';
import { S3CacheRatchetLike } from '@bitblit/ratchet/aws';
/**
* Handles all submission of work to the background processing system.
*
* Note that this does NOT validate the input, it just passes it along. This is
* because it creates a circular reference to the processors if we try since they
* define the type and validation.
*/
export declare class AwsLargePayloadS3SqsSnsBackgroundManager extends AwsSqsSnsBackgroundManager {
private _s3;
private pathPrefix;
private static readonly LARGE_MESSAGE_SIZE_THRESHOLD;
private static readonly LARGE_MESSAGE_S3_PATH_META_KEY;
constructor(_awsConfig: BackgroundAwsConfig, _sqs: SQSClient, _sns: SNSClient, _s3: S3CacheRatchetLike, pathPrefix?: string);
get backgroundManagerName(): string;
get s3(): S3CacheRatchetLike;
wrapEntryForInternal<T>(entry: BackgroundEntry<T>, overrideTraceId?: string, overrideTraceDepth?: number): Promise<InternalBackgroundEntry<T>>;
private writeMessageToS3;
modify<T>(entry: InternalBackgroundEntry<T>): Promise<InternalBackgroundEntry<T>>;
}