UNPKG

@mbc-cqrs-serverless/core

Version:
29 lines (28 loc) 1.76 kB
import { DeleteMessageBatchCommandOutput, DeleteMessageBatchRequestEntry, DeleteMessageCommandOutput, ReceiveMessageCommandInput, ReceiveMessageCommandOutput, SendMessageBatchCommandOutput, SendMessageBatchRequestEntry, SendMessageCommandInput, SendMessageCommandOutput } from '@aws-sdk/client-sqs'; import { SqsClientFactory } from './sqs-client-factory'; export declare class SqsService { private readonly sqsClientFactory; private readonly logger; constructor(sqsClientFactory: SqsClientFactory); /** * Send a single message to an SQS queue. */ sendMessage(queueUrl: string, body: string, opts?: Pick<SendMessageCommandInput, 'DelaySeconds' | 'MessageGroupId' | 'MessageDeduplicationId' | 'MessageAttributes'>): Promise<SendMessageCommandOutput>; /** * Send up to 10 messages to an SQS queue in a single API call. * Caller is responsible for ensuring entries.length <= 10. */ sendMessageBatch(queueUrl: string, entries: SendMessageBatchRequestEntry[]): Promise<SendMessageBatchCommandOutput>; /** * Receive messages from an SQS queue. */ receiveMessages(queueUrl: string, opts?: Partial<Pick<ReceiveMessageCommandInput, 'MaxNumberOfMessages' | 'WaitTimeSeconds' | 'VisibilityTimeout' | 'MessageSystemAttributeNames' | 'MessageAttributeNames'>>): Promise<ReceiveMessageCommandOutput>; /** * Delete a single message from an SQS queue (acknowledge processing). */ deleteMessage(queueUrl: string, receiptHandle: string): Promise<DeleteMessageCommandOutput>; /** * Delete up to 10 messages from an SQS queue in a single API call. */ deleteMessageBatch(queueUrl: string, entries: DeleteMessageBatchRequestEntry[]): Promise<DeleteMessageBatchCommandOutput>; }