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
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
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?
}