Light Dark

Functions

change-message-visibility

fn (queue_url: Str, receipt_handle: Str, visibility_timeout: Int): DeleteMessageResponse | 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)

delete-message

fn (queue_url: Str, receipt_handle: Str): DeleteMessageResponse | 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

fn (queue_url: Str, entries: Vec): DeleteMessageBatchResponse | 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)

extract-region-from-url

fn (queue_url: Str): Str

purge-queue

fn (queue_url: Str): DeleteMessageResponse | 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

fn (queue_url: Str, max_messages: Int, wait_time_seconds: Int, visibility_timeout: Int): ReceiveMessageResponse | AwsError
fn (queue_url: Str, max_messages: Int, wait_time_seconds: Int): ReceiveMessageResponse | AwsError
fn (queue_url: Str, max_messages: Int): ReceiveMessageResponse | AwsError
fn (queue_url: Str): ReceiveMessageResponse | 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

fn (queue_url: Str, message_body: Str, delay_seconds: Int, message_attributes: Map): SendMessageResponse | AwsError
fn (queue_url: Str, message_body: Str, delay_seconds: Int): SendMessageResponse | AwsError
fn (queue_url: Str, message_body: Str): SendMessageResponse | 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

fn (queue_url: Str, entries: Vec): SendMessageBatchResponse | 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

Types

BatchErrorEntry

BatchErrorEntry type {
    id: Str,
    sender_fault: Bool,
    code: Str,
    message: Str?
}

BatchResultEntry

BatchResultEntry type {
    id: Str,
    message_id: Str?,
    md5_of_message_body: Str?
}

DeleteMessageBatchResponse

DeleteMessageBatchResponse type {
    successful: Vec,
    failed: Vec
}

DeleteMessageResponse

DeleteMessageResponse type {
    success: Bool
}

Message

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

MessageAttribute

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

ReceiveMessageResponse

ReceiveMessageResponse type {
    messages: Vec
}

SendMessageBatchResponse

SendMessageBatchResponse type {
    successful: Vec,
    failed: Vec
}

SendMessageRequest

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

SendMessageResponse

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