@probitas/client-sqs
AWS SQS client for Probitas scenario testing framework.
This package provides an AWS SQS client designed for integration testing of message-driven applications using Amazon Simple Queue Service.
Features
- Queue Management: Create, delete, and purge queues
- Message Operations: Send, receive, and delete messages (single and batch)
- Message Attributes: Support for custom message attributes
- LocalStack Compatible: Works with LocalStack for local development
- Resource Management: Implements
AsyncDisposablefor proper cleanup
Installation
deno add jsr:@probitas/client-sqs
Quick Start
import { createSqsClient } from "@probitas/client-sqs";
const client = await createSqsClient({
region: "us-east-1",
url: "http://localhost:4566", // LocalStack
credentials: {
accessKeyId: "test",
secretAccessKey: "test",
},
});
// Ensure queue exists
const queueResult = await client.ensureQueue("test-queue");
if (!queueResult.ok) throw new Error("Failed to ensure queue");
// Send a message
const sendResult = await client.send("Hello, World!", {
messageAttributes: {
type: { dataType: "String", stringValue: "greeting" },
},
});
if (!sendResult.ok) throw new Error("Failed to send message");
console.log("Message ID:", sendResult.messageId);
// Receive messages
const receiveResult = await client.receive({
maxMessages: 10,
waitTimeSeconds: 5,
});
if (!receiveResult.ok) throw new Error("Failed to receive messages");
console.log("Received:", receiveResult.messages.length);
// Delete message after processing
for (const msg of receiveResult.messages) {
await client.delete(msg.receiptHandle);
}
await client.close();
Batch Operations
import { createSqsClient } from "@probitas/client-sqs";
const client = await createSqsClient({
region: "us-east-1",
url: "http://localhost:4566",
credentials: { accessKeyId: "test", secretAccessKey: "test" },
});
const queueResult = await client.ensureQueue("test-queue");
if (!queueResult.ok) throw new Error("Failed to ensure queue");
// Send batch messages
await client.sendBatch([
{ body: "Message 1", id: "msg-1" },
{ body: "Message 2", id: "msg-2" },
{ body: "Message 3", id: "msg-3" },
]);
// Delete batch messages
const receiveResult = await client.receive({ maxMessages: 10 });
if (!receiveResult.ok) throw new Error("Failed to receive messages");
const handles = receiveResult.messages.map((m) => m.receiptHandle);
await client.deleteBatch(handles);
await client.close();
Using with using Statement
import { createSqsClient } from "@probitas/client-sqs";
await using client = await createSqsClient({
region: "us-east-1",
url: "http://localhost:4566",
credentials: { accessKeyId: "test", secretAccessKey: "test" },
});
const queue = await client.ensureQueue("test");
console.log("Queue URL:", queue.queueUrl);
// Client automatically closed when block exits
Related Packages
| Package | Description |
|---|---|
| `@probitas/client` | Core utilities and types |
| `@probitas/client-rabbitmq` | RabbitMQ client |
Links
Installation
deno add jsr:@probitas/client-sqsClasses
#SqsBatchError
class SqsBatchError extends SqsErrorSqsErrorError thrown when a batch operation partially fails.
| Name | Description |
|---|---|
name | — |
kind | — |
failedCount | — |
Constructor
new SqsBatchError(
message: string,
failedCount: number,
options?: SqsErrorOptions,
)Properties
- readonly
namestring - readonly
kind"batch" - readonly
failedCountnumber
#SqsCommandError
class SqsCommandError extends SqsErrorSqsErrorError thrown when an SQS command fails.
Constructor
new SqsCommandError(message: string, options: SqsCommandErrorOptions)Properties
- readonly
namestring - readonly
kind"command" - readonly
operationstring
#SqsConnectionError
class SqsConnectionError extends SqsErrorSqsErrorError thrown when an SQS connection cannot be established.
Constructor
new SqsConnectionError(message: string, options?: SqsErrorOptions)Properties
- readonly
namestring - readonly
kind"connection"
#SqsError
class SqsError extends ClientErrorClientErrorBase error class for SQS client errors.
Constructor
new SqsError(message: string, _: unknown, options?: SqsErrorOptions)Properties
- readonly
namestring - readonly
code?string
#SqsMessageNotFoundError
class SqsMessageNotFoundError extends SqsErrorSqsErrorError thrown when a message is not found or receipt handle is invalid.
Constructor
new SqsMessageNotFoundError(message: string, options?: SqsErrorOptions)Properties
- readonly
namestring - readonly
kind"message_not_found"
#SqsMessageTooLargeError
class SqsMessageTooLargeError extends SqsErrorSqsErrorError thrown when a message exceeds the size limit.
Constructor
new SqsMessageTooLargeError(
message: string,
size: number,
maxSize: number,
options?: SqsErrorOptions,
)Properties
- readonly
namestring - readonly
kind"message_too_large" - readonly
sizenumber - readonly
maxSizenumber
#SqsQueueNotFoundError
class SqsQueueNotFoundError extends SqsErrorSqsErrorError thrown when a queue is not found.
Constructor
new SqsQueueNotFoundError(
message: string,
queueUrl: string,
options?: SqsErrorOptions,
)Properties
- readonly
namestring - readonly
kind"queue_not_found" - readonly
queueUrlstring
Interfaces
#SqsBatchFailedEntry
interface SqsBatchFailedEntryFailed batch entry.
Properties
- readonly
idstring - readonly
codestring - readonly
messagestring
#SqsBatchMessage
interface SqsBatchMessageBatch message for sendBatch.
| Name | Description |
|---|---|
id | — |
body | — |
delaySeconds | — |
messageAttributes | — |
Properties
- readonly
idstring - readonly
bodystring - readonly
delaySeconds?number
#SqsBatchSuccessEntry
interface SqsBatchSuccessEntrySuccessful batch send entry.
Properties
- readonly
messageIdstring - readonly
idstring
#SqsClient
interface SqsClient extends AsyncDisposableSQS client interface.
| Name | Description |
|---|---|
config | — |
queueUrl | The current queue URL. |
setQueueUrl() | Set the queue URL for subsequent operations. |
ensureQueue() | Ensure a queue exists. |
deleteQueue() | Delete a queue by URL. |
send() | Send a message to the queue. |
sendBatch() | Send multiple messages to the queue in a single request. |
receive() | Receive messages from the queue. |
delete() | Delete a message from the queue. |
deleteBatch() | Delete multiple messages from the queue in a single request. |
purge() | Purge all messages from the queue. |
close() | Close the client and release resources. |
Properties
- readonly
queueUrlstring | undefinedThe current queue URL. Can be set via config, ensureQueue(), or setQueueUrl().
Methods
setQueueUrl(queueUrl: string): voidSet the queue URL for subsequent operations.
Parameters
queueUrlstring
ensureQueue(
queueName: string,
options?: SqsEnsureQueueOptions,
): Promise<SqsEnsureQueueResult>Ensure a queue exists. Creates the queue if it doesn't exist. If the queue already exists with the same attributes, returns the existing queue URL. Also sets the queue URL for subsequent operations.
Parameters
queueNamestringoptions?SqsEnsureQueueOptions
deleteQueue(
queueUrl: string,
options?: SqsDeleteQueueOptions,
): Promise<SqsDeleteQueueResult>Delete a queue by URL.
Parameters
queueUrlstringoptions?SqsDeleteQueueOptions
send(body: string, options?: SqsSendOptions): Promise<SqsSendResult>Send a message to the queue.
Parameters
bodystringoptions?SqsSendOptions
sendBatch(
messages: SqsBatchMessage[],
options?: SqsBatchOptions,
): Promise<SqsSendBatchResult>Send multiple messages to the queue in a single request.
Parameters
messagesSqsBatchMessage[]options?SqsBatchOptions
receive(options?: SqsReceiveOptions): Promise<SqsReceiveResult>Receive messages from the queue.
Parameters
options?SqsReceiveOptions
delete(
receiptHandle: string,
options?: SqsDeleteOptions,
): Promise<SqsDeleteResult>Delete a message from the queue.
Parameters
receiptHandlestringoptions?SqsDeleteOptions
deleteBatch(
receiptHandles: string[],
options?: SqsBatchOptions,
): Promise<SqsDeleteBatchResult>Delete multiple messages from the queue in a single request.
Parameters
receiptHandlesstring[]options?SqsBatchOptions
purge(options?: SqsOptions): Promise<SqsDeleteResult>Purge all messages from the queue.
Parameters
options?SqsOptions
close(): Promise<void>Close the client and release resources.
#SqsClientConfig
interface SqsClientConfig extends SqsOptionsSQS client configuration.
| Name | Description |
|---|---|
region | AWS region |
credentials | AWS credentials |
queueUrl | SQS queue URL (optional - can be set later or used with ensureQueue) |
url | SQS endpoint URL (e.g., "http://localhost:4566" for LocalStack). |
Properties
- readonly
regionstringAWS region
- readonly
credentials?{ accessKeyId: string; secretAccessKey: string }AWS credentials
- readonly
queueUrl?stringSQS queue URL (optional - can be set later or used with ensureQueue)
SQS endpoint URL (e.g., "http://localhost:4566" for LocalStack). Can be a string URL or a connection config object. Optional for real AWS (uses default endpoint), required for LocalStack.
#SqsCommandErrorOptions
interface SqsCommandErrorOptions extends SqsErrorOptionsOptions for SQS command errors.
| Name | Description |
|---|---|
operation | — |
Properties
- readonly
operationstring
#SqsConnectionConfig
interface SqsConnectionConfig extends CommonConnectionConfigSQS connection configuration.
Extends CommonConnectionConfig with SQS-specific options.
| Name | Description |
|---|---|
protocol | Protocol to use. |
path | Custom path (for LocalStack or custom endpoints). |
region | AWS region (required for AWS, optional for LocalStack). |
Properties
- readonly
protocol?"http" | "https"Protocol to use.
- readonly
path?stringCustom path (for LocalStack or custom endpoints).
- readonly
region?stringAWS region (required for AWS, optional for LocalStack).
#SqsDeleteBatchResultError
interface SqsDeleteBatchResultError extends SqsDeleteBatchResultBaseBatch delete result with SQS error.
| Name | Description |
|---|---|
processed | — |
ok | — |
error | — |
successful | — |
failed | — |
Properties
- readonly
processedtrue - readonly
okfalse - readonly
successfulreadonly [] - readonly
failedreadonly []
#SqsDeleteBatchResultFailure
interface SqsDeleteBatchResultFailure extends SqsDeleteBatchResultBaseBatch delete result with connection failure.
| Name | Description |
|---|---|
processed | — |
ok | — |
error | — |
successful | — |
failed | — |
Properties
- readonly
processedfalse - readonly
okfalse - readonly
successfulnull - readonly
failednull
#SqsDeleteBatchResultSuccess
interface SqsDeleteBatchResultSuccess extends SqsDeleteBatchResultBaseSuccessful batch delete result.
Note: ok: true even if some messages failed (partial failure).
Check failed.length > 0 to detect partial failures.
| Name | Description |
|---|---|
processed | — |
ok | — |
error | — |
successful | Array of message IDs that were successfully deleted. |
failed | Array of messages that failed to delete (may be non-empty even with ok: true). |
Properties
- readonly
processedtrue - readonly
oktrue - readonly
errornull - readonly
successfulreadonly string[]Array of message IDs that were successfully deleted.
Array of messages that failed to delete (may be non-empty even with ok: true).
#SqsDeleteOptions
interface SqsDeleteOptions extends SqsOptionsOptions for deleting a message.
#SqsDeleteQueueOptions
interface SqsDeleteQueueOptions extends SqsOptionsOptions for deleting a queue.
#SqsDeleteQueueResultError
interface SqsDeleteQueueResultError extends SqsDeleteQueueResultBaseDelete queue result with SQS error.
Properties
- readonly
processedtrue - readonly
okfalse
#SqsDeleteQueueResultFailure
interface SqsDeleteQueueResultFailure extends SqsDeleteQueueResultBaseDelete queue result with connection failure.
Properties
- readonly
processedfalse - readonly
okfalse
#SqsDeleteQueueResultSuccess
interface SqsDeleteQueueResultSuccess extends SqsDeleteQueueResultBaseSuccessful delete queue result.
Properties
- readonly
processedtrue - readonly
oktrue - readonly
errornull
#SqsDeleteResultError
interface SqsDeleteResultError extends SqsDeleteResultBaseDelete result with SQS error.
Properties
- readonly
processedtrue - readonly
okfalse
#SqsDeleteResultFailure
interface SqsDeleteResultFailure extends SqsDeleteResultBaseDelete result with connection failure.
Properties
- readonly
processedfalse - readonly
okfalse
#SqsDeleteResultSuccess
interface SqsDeleteResultSuccess extends SqsDeleteResultBaseSuccessful delete result.
Properties
- readonly
processedtrue - readonly
oktrue - readonly
errornull
#SqsEnsureQueueOptions
interface SqsEnsureQueueOptions extends SqsOptionsOptions for ensuring a queue exists.
| Name | Description |
|---|---|
attributes | Queue attributes (e.g., DelaySeconds, MessageRetentionPeriod) |
tags | Queue tags |
Properties
- readonly
attributes?Record<string, string>Queue attributes (e.g., DelaySeconds, MessageRetentionPeriod)
#SqsEnsureQueueResultError
interface SqsEnsureQueueResultError extends SqsEnsureQueueResultBaseEnsure queue result with SQS error.
Properties
- readonly
processedtrue - readonly
okfalse - readonly
queueUrlnull
#SqsEnsureQueueResultFailure
interface SqsEnsureQueueResultFailure extends SqsEnsureQueueResultBaseEnsure queue result with connection failure.
Properties
- readonly
processedfalse - readonly
okfalse - readonly
queueUrlnull
#SqsEnsureQueueResultSuccess
interface SqsEnsureQueueResultSuccess extends SqsEnsureQueueResultBaseSuccessful ensure queue result.
Properties
- readonly
processedtrue - readonly
oktrue - readonly
errornull - readonly
queueUrlstringURL of the queue (existing or newly created).
#SqsErrorOptions
interface SqsErrorOptions extends ErrorOptionsOptions for SQS errors.
| Name | Description |
|---|---|
code | — |
Properties
- readonly
code?string
#SqsMessage
interface SqsMessageSQS message received from a queue.
| Name | Description |
|---|---|
messageId | — |
body | — |
receiptHandle | — |
attributes | — |
messageAttributes | — |
md5OfBody | — |
Properties
- readonly
messageIdstring - readonly
bodystring - readonly
receiptHandlestring - readonly
attributesRecord<string, string> - readonly
md5OfBodystring
#SqsMessageAttribute
interface SqsMessageAttributeSQS message attributes.
| Name | Description |
|---|---|
dataType | — |
stringValue | — |
binaryValue | — |
Properties
- readonly
dataType"String" | "Number" | "Binary" - readonly
stringValue?string - readonly
binaryValue?Uint8Array
#SqsOptions
interface SqsOptions extends CommonOptionsCommon options with throwOnError support.
| Name | Description |
|---|---|
throwOnError | If true, throws errors instead of returning them in the result. |
Properties
- readonly
throwOnError?booleanIf true, throws errors instead of returning them in the result. If false (default), errors are returned in the result object.
#SqsReceiveOptions
interface SqsReceiveOptions extends SqsOptionsOptions for receiving messages.
| Name | Description |
|---|---|
maxMessages | Maximum number of messages to receive (1-10, default: 1) |
waitTimeSeconds | Wait time in seconds for long polling (0-20) |
visibilityTimeout | Visibility timeout in seconds (0-43200) |
attributeNames | System attribute names to retrieve |
messageAttributeNames | Message attribute names to retrieve |
Properties
- readonly
maxMessages?numberMaximum number of messages to receive (1-10, default: 1)
- readonly
waitTimeSeconds?numberWait time in seconds for long polling (0-20)
- readonly
visibilityTimeout?numberVisibility timeout in seconds (0-43200)
- readonly
attributeNames?readonly string[]System attribute names to retrieve
- readonly
messageAttributeNames?readonly string[]Message attribute names to retrieve
#SqsReceiveResultError
interface SqsReceiveResultError extends SqsReceiveResultBaseReceive result with SQS error.
Properties
- readonly
processedtrue - readonly
okfalse - readonly
messagesreadonly []
#SqsReceiveResultFailure
interface SqsReceiveResultFailure extends SqsReceiveResultBaseReceive result with connection failure.
Properties
- readonly
processedfalse - readonly
okfalse - readonly
messagesnull
#SqsReceiveResultSuccess
interface SqsReceiveResultSuccess extends SqsReceiveResultBaseSuccessful receive result.
Properties
- readonly
processedtrue - readonly
oktrue - readonly
errornull Array of received messages (may be empty).
#SqsSendBatchResultError
interface SqsSendBatchResultError extends SqsSendBatchResultBaseBatch send result with SQS error.
| Name | Description |
|---|---|
processed | — |
ok | — |
error | — |
successful | — |
failed | — |
Properties
- readonly
processedtrue - readonly
okfalse - readonly
successfulreadonly [] - readonly
failedreadonly []
#SqsSendBatchResultFailure
interface SqsSendBatchResultFailure extends SqsSendBatchResultBaseBatch send result with connection failure.
| Name | Description |
|---|---|
processed | — |
ok | — |
error | — |
successful | — |
failed | — |
Properties
- readonly
processedfalse - readonly
okfalse - readonly
successfulnull - readonly
failednull
#SqsSendBatchResultSuccess
interface SqsSendBatchResultSuccess extends SqsSendBatchResultBaseSuccessful batch send result.
Note: ok: true even if some messages failed (partial failure).
Check failed.length > 0 to detect partial failures.
| Name | Description |
|---|---|
processed | — |
ok | — |
error | — |
successful | Array of successfully sent messages. |
failed | Array of messages that failed to send (may be non-empty even with ok: true). |
Properties
- readonly
processedtrue - readonly
oktrue - readonly
errornull Array of successfully sent messages.
Array of messages that failed to send (may be non-empty even with ok: true).
#SqsSendOptions
interface SqsSendOptions extends SqsOptionsOptions for sending a message.
| Name | Description |
|---|---|
delaySeconds | Delay in seconds before the message becomes visible (0-900) |
messageAttributes | Message attributes |
messageGroupId | Message group ID (required for FIFO queues) |
messageDeduplicationId | Message deduplication ID (required for FIFO queues without content-based deduplication) |
Properties
- readonly
delaySeconds?numberDelay in seconds before the message becomes visible (0-900)
Message attributes
- readonly
messageGroupId?stringMessage group ID (required for FIFO queues)
- readonly
messageDeduplicationId?stringMessage deduplication ID (required for FIFO queues without content-based deduplication)
#SqsSendResultError
interface SqsSendResultError extends SqsSendResultBaseSend result with SQS error.
Properties
- readonly
processedtrue - readonly
okfalse - readonly
messageIdnull - readonly
md5OfBodynull - readonly
sequenceNumbernull
#SqsSendResultFailure
interface SqsSendResultFailure extends SqsSendResultBaseSend result with connection failure.
Properties
- readonly
processedfalse - readonly
okfalse - readonly
messageIdnull - readonly
md5OfBodynull - readonly
sequenceNumbernull
#SqsSendResultSuccess
interface SqsSendResultSuccess extends SqsSendResultBaseSuccessful send result.
| Name | Description |
|---|---|
processed | — |
ok | — |
error | — |
messageId | Unique identifier for the sent message. |
md5OfBody | MD5 hash of the message body (for integrity verification). |
sequenceNumber | Sequence number for FIFO queues (present only for FIFO queues). |
Properties
- readonly
processedtrue - readonly
oktrue - readonly
errornull - readonly
messageIdstringUnique identifier for the sent message.
- readonly
md5OfBodystringMD5 hash of the message body (for integrity verification).
- readonly
sequenceNumberstring | nullSequence number for FIFO queues (present only for FIFO queues).
Functions
#createSqsClient
function createSqsClient(config: SqsClientConfig): Promise<SqsClient>Create a new Amazon SQS client instance.
The client provides queue management, message publishing and consumption, batch operations, and supports both standard and FIFO queues via AWS SDK.
Parameters
configSqsClientConfig- SQS client configuration
Returns
Promise<SqsClient> — A promise resolving to a new SQS client instance
Examples
Basic usage with existing queue
import { createSqsClient } from "@probitas/client-sqs";
async function example() {
const sqs = await createSqsClient({
region: "ap-northeast-1",
queueUrl: "https://sqs.ap-northeast-1.amazonaws.com/123456789/my-queue",
credentials: { accessKeyId: "test", secretAccessKey: "test" },
});
// Send a message
const sendResult = await sqs.send(JSON.stringify({
type: "ORDER",
orderId: "123",
}));
if (sendResult.ok) {
console.log("Message ID:", sendResult.messageId);
} else {
console.error("Error:", sendResult.error.message);
}
await sqs.close();
}
Using LocalStack for local development
import { createSqsClient } from "@probitas/client-sqs";
async function example() {
const sqs = await createSqsClient({
region: "us-east-1",
url: "http://localhost:4566",
credentials: {
accessKeyId: "test",
secretAccessKey: "test",
},
});
// Create queue dynamically (also sets queueUrl)
const result = await sqs.ensureQueue("test-queue");
if (result.ok) {
console.log(result.queueUrl); // http://localhost:4566/000000000000/test-queue
}
await sqs.close();
}
Receiving messages with long polling
import { createSqsClient } from "@probitas/client-sqs";
async function example() {
const sqs = await createSqsClient({
region: "us-east-1",
url: "http://localhost:4566",
credentials: { accessKeyId: "test", secretAccessKey: "test" },
});
await sqs.ensureQueue("test-queue");
// Long polling waits up to 20 seconds for messages
const receiveResult = await sqs.receive({
maxMessages: 10,
waitTimeSeconds: 20,
visibilityTimeout: 30,
});
if (receiveResult.ok) {
console.log("Received:", receiveResult.messages.length);
// Process and acknowledge messages
for (const msg of receiveResult.messages) {
const data = JSON.parse(msg.body);
console.log("Processing:", data);
// Delete after successful processing
await sqs.delete(msg.receiptHandle);
}
}
await sqs.close();
}
Batch operations for high throughput
import { createSqsClient } from "@probitas/client-sqs";
async function example() {
const sqs = await createSqsClient({
region: "us-east-1",
url: "http://localhost:4566",
credentials: { accessKeyId: "test", secretAccessKey: "test" },
});
await sqs.ensureQueue("test-queue");
// Send multiple messages in a single API call
const batchResult = await sqs.sendBatch([
{ id: "1", body: JSON.stringify({ event: "user.created", userId: "a1" }) },
{ id: "2", body: JSON.stringify({ event: "user.created", userId: "a2" }) },
{ id: "3", body: JSON.stringify({ event: "user.updated", userId: "a3" }) },
]);
if (batchResult.ok) {
console.log(`Sent: ${batchResult.successful.length}`);
console.log(`Failed: ${batchResult.failed.length}`);
}
// Batch delete processed messages
const receiveResult = await sqs.receive({ maxMessages: 10 });
if (receiveResult.ok) {
const handles = receiveResult.messages.map((m) => m.receiptHandle);
await sqs.deleteBatch(handles);
}
await sqs.close();
}
Using await using for automatic cleanup
import { createSqsClient } from "@probitas/client-sqs";
async function example() {
await using sqs = await createSqsClient({
region: "us-east-1",
url: "http://localhost:4566",
credentials: { accessKeyId: "test", secretAccessKey: "test" },
});
await sqs.ensureQueue("test-queue");
await sqs.send("Hello, SQS!");
// Client automatically closed when scope exits
}
Types
#SqsDeleteBatchResult
type SqsDeleteBatchResult = SqsDeleteBatchResultSuccess
| SqsDeleteBatchResultError
| SqsDeleteBatchResultFailureResult of batch deleting messages.
#SqsDeleteQueueResult
type SqsDeleteQueueResult = SqsDeleteQueueResultSuccess
| SqsDeleteQueueResultError
| SqsDeleteQueueResultFailureResult of deleting a queue.
#SqsDeleteResult
type SqsDeleteResult = SqsDeleteResultSuccess | SqsDeleteResultError | SqsDeleteResultFailureResult of deleting a message.
#SqsEnsureQueueResult
type SqsEnsureQueueResult = SqsEnsureQueueResultSuccess
| SqsEnsureQueueResultError
| SqsEnsureQueueResultFailureResult of ensuring a queue exists.
#SqsFailureError
type SqsFailureError = SqsConnectionError | AbortError | TimeoutErrorError types that indicate the operation was not processed. These are errors that occur before the operation reaches the SQS service.
#SqsOperationError
type SqsOperationError = SqsCommandError
| SqsQueueNotFoundError
| SqsMessageTooLargeError
| SqsBatchError
| SqsMessageNotFoundError
| SqsErrorError types that indicate an operation was processed by the server. These errors occur after the operation reaches the SQS service.
#SqsReceiveResult
type SqsReceiveResult = SqsReceiveResultSuccess | SqsReceiveResultError | SqsReceiveResultFailureResult of receiving messages.
#SqsResult
type SqsResult = SqsSendResult
| SqsSendBatchResult
| SqsReceiveResult
| SqsDeleteResult
| SqsDeleteBatchResult
| SqsEnsureQueueResult
| SqsDeleteQueueResultUnion type of all SQS result types.
#SqsSendBatchResult
type SqsSendBatchResult = SqsSendBatchResultSuccess | SqsSendBatchResultError | SqsSendBatchResultFailureResult of batch sending messages.
#SqsSendResult
type SqsSendResult = SqsSendResultSuccess | SqsSendResultError | SqsSendResultFailureResult of sending a message.
