@message-queue-toolkit/s3-payload-store
Version:
AWS S3-based message store implementation for message-queue-toolkit
19 lines (18 loc) • 707 B
TypeScript
import type { Readable } from 'node:stream';
import type { S3 } from '@aws-sdk/client-s3';
import type { PayloadStoreTypes, SerializedPayload } from '@message-queue-toolkit/core';
export type S3PayloadStoreDependencies = {
s3: S3;
};
export type S3PayloadStoreConfiguration = {
bucketName: string;
keyPrefix?: string;
};
export declare class S3PayloadStore implements PayloadStoreTypes {
private s3;
private readonly config;
constructor({ s3 }: S3PayloadStoreDependencies, config: S3PayloadStoreConfiguration);
storePayload(payload: SerializedPayload): Promise<string>;
retrievePayload(key: string): Promise<Readable | null>;
deletePayload(key: string): Promise<void>;
}