UNPKG

@cumulus/aws-client

Version:
76 lines 3.26 kB
/** * @module SQS */ import Logger from '@cumulus/logger'; import { CumulusMessage } from '@cumulus/types/message'; import { SQSRecord } from 'aws-lambda'; import { Message } from '@aws-sdk/client-sqs'; import { StepFunctionEventBridgeEvent } from './Lambda'; export interface SQSMessage extends Message { ReceiptHandle: string; } export declare const getQueueNameFromUrl: (queueUrl: string) => string | undefined; export declare const getQueueUrl: (sourceArn: string, queueName: string) => string; export declare const getQueueUrlByName: (queueName: string) => Promise<string | undefined>; /** * Create an SQS Queue. Properly handles localstack queue URLs */ export declare function createQueue(QueueName: string): Promise<string | undefined>; export declare const deleteQueue: (queueUrl: string) => Promise<import("@aws-sdk/client-sqs").DeleteQueueCommandOutput>; export declare const getQueueAttributes: (queueName: string) => Promise<{ name: string; All?: string | undefined; ApproximateNumberOfMessages?: string | undefined; ApproximateNumberOfMessagesDelayed?: string | undefined; ApproximateNumberOfMessagesNotVisible?: string | undefined; ContentBasedDeduplication?: string | undefined; CreatedTimestamp?: string | undefined; DeduplicationScope?: string | undefined; DelaySeconds?: string | undefined; FifoQueue?: string | undefined; FifoThroughputLimit?: string | undefined; KmsDataKeyReusePeriodSeconds?: string | undefined; KmsMasterKeyId?: string | undefined; LastModifiedTimestamp?: string | undefined; MaximumMessageSize?: string | undefined; MessageRetentionPeriod?: string | undefined; Policy?: string | undefined; QueueArn?: string | undefined; ReceiveMessageWaitTimeSeconds?: string | undefined; RedriveAllowPolicy?: string | undefined; RedrivePolicy?: string | undefined; SqsManagedSseEnabled?: string | undefined; VisibilityTimeout?: string | undefined; }>; /** * Send a message to AWS SQS **/ export declare const sendSQSMessage: (queueUrl: string, message: string | object, logOverride?: Logger | undefined) => Promise<import("@aws-sdk/client-sqs").SendMessageCommandOutput>; declare type ReceiveSQSMessagesOptions = { numOfMessages?: number; visibilityTimeout?: number; waitTimeSeconds?: number; }; /** * Receives SQS messages from a given queue. The number of messages received * can be set and the timeout is also adjustable. */ export declare const receiveSQSMessages: (queueUrl: string, options: ReceiveSQSMessagesOptions) => Promise<SQSMessage[]>; /** * Bare check for SQS message Shape */ export declare const isSQSRecordLike: (message: Object) => message is SQSRecord; /** * Extract SQS message body */ export declare const parseSQSMessageBody: (message: SQSRecord | Message) => StepFunctionEventBridgeEvent | CumulusMessage | SQSRecord; /** * Delete a given SQS message from a given queue. */ export declare const deleteSQSMessage: (QueueUrl: string, ReceiptHandle: string) => Promise<import("@aws-sdk/client-sqs").DeleteMessageCommandOutput>; /** * Test if an SQS queue exists */ export declare const sqsQueueExists: (queueUrl: string) => Promise<boolean>; export {}; //# sourceMappingURL=SQS.d.ts.map