Send and receive
- Console
- API
- CLI
- Go
Open the queue and select Send message for a manual publication.
The Messages tab lets you inspect messages without acquiring a lease.
Run application consumers through the API; peeking is not processing.
Acknowledge or extend the lease
After processing succeeds, delete with the current receipt handle:204. The receipt handle belongs to one
receive attempt. A message ID alone cannot acknowledge it. URL-encode the
handle when building a request URL and do not log it as harmless metadata.
If processing needs longer, update visibility before the current lease expires:
Attributes, size, and batches
Messages accept up to 20 attributes. Attribute names are 1–256 bytes and values are at most 1,024 bytes. Types areString, Number, or Binary; attribute
values are strings on the wire, with standard base64 for Binary values.
Body and attribute sizes together must fit the
queue’s max_message_bytes setting, up to 256 KiB.
Send, delete, and visibility batch operations accept up to ten entries.
Entries carry unique caller-chosen IDs so individual successes and failures
can be correlated. Check per-entry results and retry only the failed actions.
An HTTP success does not imply that all entries succeeded.
Delay, long polling, and empty receives
The queue’s delay applies before first delivery. Standard queue sends can override it withdelay_seconds; FIFO sends use the queue’s delay and reject
per-message overrides. A delayed message is different from an in-flight
message: it has not been leased yet.
Use wait_time_seconds up to 20 for long polling, or configure the queue’s
default receive_wait_time_seconds. Allow the HTTP client timeout to exceed
the chosen wait. An empty receive can mean no available messages, delayed or
leased messages, or a FIFO group blocked by an earlier message.
Inspect, purge, and troubleshoot
The peek operation reads message data without changing visibility or receive counts and requires its own permission. It is useful for diagnosis, but cannot reserve a message for processing. Purge deletes messages including active leases. Deleting a queue removes the queue and its messages. Neither operation is an acknowledgement workflow. Watch the Metrics tab: increasing available depth and oldest-message age suggest consumers are falling behind; repeated receives suggest failures or leases that are too short. Inspectreceive_count and your consumer logs, then
configure a dead-letter queue for poison
messages. Missing metric samples are observation gaps, not empty queues.
