Functions
change-message-visibility 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 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 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 of ::aws::sqs::messages/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)
delete-queue 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 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 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 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 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 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 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 of ::aws::sqs::messages/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
set-queue-attributes 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 of ::aws::core/AwsError
CreateQueueResponse of ::aws::sqs::queues/CreateQueueResponse
CreateQueueResponse type {
queue_url: Str?
}
Credentials of ::aws::core/Credentials
DeleteMessageResponse of ::aws::sqs::messages/DeleteMessageResponse
DeleteMessageResponse type {
success: Bool
}
GetQueueUrlResponse of ::aws::sqs::queues/GetQueueUrlResponse
GetQueueUrlResponse type {
queue_url: Str?
}
ListQueuesResponse of ::aws::sqs::queues/ListQueuesResponse
ListQueuesResponse type {
queue_urls: Vec
}
Message 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 of ::aws::sqs::messages/MessageAttribute
MessageAttribute type {
data_type: Str,
string_value: Str?,
binary_value: Str?
}
QueueAttributes 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 of ::aws::sqs::messages/ReceiveMessageResponse
ReceiveMessageResponse type {
messages: Vec
}
SendMessageRequest 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 of ::aws::sqs::messages/SendMessageResponse
SendMessageResponse type {
message_id: Str?,
md5_of_message_body: Str?,
sequence_number: Str?
}