Functions

change-message-visibility alias of ::aws::sqs::messages/change-message-visibility

fn (queue_url: Str, receipt_handle: Str, visibility_timeout: Int): DeleteMessageResponse | ::aws::core/AwsError

Change the visibility timeout of a message.

Useful for extending processing time before a message becomes visible again.

Example

// Extend visibility timeout to 60 seconds
::aws::sqs::messages/change-message-visibility(queue-url, msg.receipt_handle, 60)

create-queue alias of ::aws::sqs::queues/create-queue

fn (queue_name: Str, attributes: Map): CreateQueueResponse | ::aws::core/AwsError
fn (queue_name: Str): CreateQueueResponse | ::aws::core/AwsError

Create a new SQS queue.

Example

// Standard queue
result ::aws::sqs::queues/create-queue("my-queue")
result.queue_url  // => "https://sqs.us-east-1.amazonaws.com/123456/my-queue"

// FIFO queue with attributes
result ::aws::sqs::queues/create-queue("my-queue.fifo", {
    FifoQueue: "true",
    ContentBasedDeduplication: "true"
})

delete-message alias of ::aws::sqs::messages/delete-message

fn (queue_url: Str, receipt_handle: Str): DeleteMessageResponse | ::aws::core/AwsError

Delete a message from an SQS queue after processing.

Use the receipt_handle from a received message to delete it.

Example

// Receive and process messages
result ::aws::sqs::messages/receive-messages(queue-url, 10, 5)
for-each(result.messages, (msg) {
    // Process message...
    ::aws::sqs::messages/delete-message(queue-url, msg.receipt_handle)
})

delete-message-batch alias of ::aws::sqs::messages/delete-message-batch

fn (queue_url: Str, entries: Vec): DeleteMessageBatchResponse | ::aws::core/AwsError

Delete up to 10 messages in a single batch request.

Each entry should have Id (unique) and ReceiptHandle.

Example

result ::aws::sqs::messages/receive-messages(queue-url, 10, 5)
delete-entries map-indexed(result.messages, (idx, msg) {
    {Id: Str(idx), ReceiptHandle: msg.receipt_handle}
})
::aws::sqs::messages/delete-message-batch(queue-url, delete-entries)

delete-queue alias of ::aws::sqs::queues/delete-queue

fn (queue_url: Str): Map | ::aws::core/AwsError

Delete an SQS queue by its URL.

Example

::aws::sqs::queues/delete-queue("https://sqs.us-east-1.amazonaws.com/123456/my-queue")

get-queue-attributes alias of ::aws::sqs::queues/get-queue-attributes

fn (queue_url: Str, attribute_names: Vec): GetQueueAttributesResponse | ::aws::core/AwsError

Get attributes of an SQS queue.

Example

result ::aws::sqs::queues/get-queue-attributes(queue-url, ["All"])
result.attributes.QueueArn                        // => "arn:aws:sqs:us-east-1:123456:my-queue"
result.attributes.ApproximateNumberOfMessages      // => "5"
result.attributes.VisibilityTimeout                // => "30"

get-queue-url alias of ::aws::sqs::queues/get-queue-url

fn (queue_name: Str): GetQueueUrlResponse | ::aws::core/AwsError

Get the URL of an SQS queue by its name.

Example

result ::aws::sqs::queues/get-queue-url("my-queue")
result.queue_url  // => "https://sqs.us-east-1.amazonaws.com/123456/my-queue"

list-queues alias of ::aws::sqs::queues/list-queues

fn (queue_name_prefix: Str): ListQueuesResponse | ::aws::core/AwsError
fn (): ListQueuesResponse | ::aws::core/AwsError

List all SQS queues, optionally filtered by name prefix.

Example

// List all queues
result ::aws::sqs::queues/list-queues()
result.queue_urls
// => ["https://sqs.us-east-1.amazonaws.com/123456/queue-1", ...]

// Filter by prefix
result ::aws::sqs::queues/list-queues("my-app")

purge-queue alias of ::aws::sqs::messages/purge-queue

fn (queue_url: Str): DeleteMessageResponse | ::aws::core/AwsError

Delete all messages from a queue.

Note: This can only be called once every 60 seconds.

Example

::aws::sqs::messages/purge-queue(queue-url)

receive-messages alias of ::aws::sqs::messages/receive-messages

fn (queue_url: Str, max_messages: Int, wait_time_seconds: Int, visibility_timeout: Int): ReceiveMessageResponse | ::aws::core/AwsError
fn (queue_url: Str, max_messages: Int, wait_time_seconds: Int): ReceiveMessageResponse | ::aws::core/AwsError
fn (queue_url: Str, max_messages: Int): ReceiveMessageResponse | ::aws::core/AwsError
fn (queue_url: Str): ReceiveMessageResponse | ::aws::core/AwsError

Receive messages from an SQS queue.

Example

// Receive up to 10 messages with 5-second long polling
result ::aws::sqs::messages/receive-messages(queue-url, 10, 5)
for-each(result.messages, (msg) {
    msg.body            // => "Hello from Hot!"
    msg.receipt_handle  // needed for delete-message
})

// Simple receive (1 message, no wait)
result ::aws::sqs::messages/receive-messages(queue-url)

send-message alias of ::aws::sqs::messages/send-message

fn (queue_url: Str, message_body: Str, delay_seconds: Int, message_attributes: Map): SendMessageResponse | ::aws::core/AwsError
fn (queue_url: Str, message_body: Str, delay_seconds: Int): SendMessageResponse | ::aws::core/AwsError
fn (queue_url: Str, message_body: Str): SendMessageResponse | ::aws::core/AwsError

Send a message to an SQS queue.

Example

result ::aws::sqs::messages/send-message(queue-url, "Hello from Hot!")
result.message_id  // => "abc123-def456..."

// With delay
result ::aws::sqs::messages/send-message(queue-url, "Delayed message", 30)

send-message-batch alias of ::aws::sqs::messages/send-message-batch

fn (queue_url: Str, entries: Vec): SendMessageBatchResponse | ::aws::core/AwsError

Send up to 10 messages in a single batch request.

Each entry should have Id (unique) and MessageBody.

Example

entries [
    {Id: "msg1", MessageBody: "First message"},
    {Id: "msg2", MessageBody: "Second message"},
    {Id: "msg3", MessageBody: "Third message"}
]
result ::aws::sqs::messages/send-message-batch(queue-url, entries)
length(result.successful)  // => 3

set-queue-attributes alias of ::aws::sqs::queues/set-queue-attributes

fn (queue_url: Str, attributes: Map): Map | ::aws::core/AwsError

Set attributes of an SQS queue.

Example

::aws::sqs::queues/set-queue-attributes(queue-url, {
    VisibilityTimeout: "60",
    MessageRetentionPeriod: "86400"
})

Types

AwsError alias of ::aws::core/AwsError

CreateQueueResponse alias of ::aws::sqs::queues/CreateQueueResponse

CreateQueueResponse type {
    queue_url: Str?
}

Credentials alias of ::aws::core/Credentials

DeleteMessageResponse alias of ::aws::sqs::messages/DeleteMessageResponse

DeleteMessageResponse type {
    success: Bool
}

GetQueueUrlResponse alias of ::aws::sqs::queues/GetQueueUrlResponse

GetQueueUrlResponse type {
    queue_url: Str?
}

ListQueuesResponse alias of ::aws::sqs::queues/ListQueuesResponse

ListQueuesResponse type {
    queue_urls: Vec
}

Message alias of ::aws::sqs::messages/Message

Message type {
    message_id: Str,
    receipt_handle: Str,
    body: Str,
    md5_of_body: Str?,
    attributes: Map?,
    message_attributes: Map?
}

MessageAttribute alias of ::aws::sqs::messages/MessageAttribute

MessageAttribute type {
    data_type: Str,
    string_value: Str?,
    binary_value: Str?
}

QueueAttributes alias of ::aws::sqs::queues/QueueAttributes

QueueAttributes type {
    visibility_timeout: Int?,
    message_retention_period: Int?,
    maximum_message_size: Int?,
    delay_seconds: Int?,
    receive_message_wait_time_seconds: Int?,
    policy: Str?,
    redrive_policy: Str?,
    fifo_queue: Bool?,
    content_based_deduplication: Bool?
}

ReceiveMessageResponse alias of ::aws::sqs::messages/ReceiveMessageResponse

ReceiveMessageResponse type {
    messages: Vec
}

SendMessageRequest alias of ::aws::sqs::messages/SendMessageRequest

SendMessageRequest type {
    queue_url: Str,
    message_body: Str,
    delay_seconds: Int?,
    message_attributes: Map?,
    message_group_id: Str?,
    message_deduplication_id: Str?
}

SendMessageResponse alias of ::aws::sqs::messages/SendMessageResponse

SendMessageResponse type {
    message_id: Str?,
    md5_of_message_body: Str?,
    sequence_number: Str?
}