Create a standard or FIFO queue
- Console
- API
- CLI
- Go
- Open Queues and select Create queue.
- Enter a Name. Enable FIFO queue if processing must be ordered
within each message group. The console adds
.fifoto the name. - Set Visibility timeout, Retention, Delivery delay, and Receive wait in seconds.
- Optionally choose a Dead-letter queue of the same type and set the maximum receive count. Create the destination queue first.
- Add optional Tags, then select Create queue.
Naming and type
Names contain 1–80 ASCII letters, digits, dots, dashes, or underscores and start with a letter or digit. The.fifo suffix counts toward the limit.
Names are unique within an account and region. UUID names and the crn:
prefix are reserved.
Use standard queues when consumers can tolerate best-effort ordering. Use FIFO
when messages for the same group must be processed in order. Neither choice
removes the need for idempotent processing after a lease expires. See
FIFO and dead-letter queues.
Settings and defaults
Choose visibility long enough for typical processing, then extend individual
leases for longer work. Retention bounds how long unacknowledged messages
remain. A delay postpones first availability. Long polling lets receives wait
for work instead of repeatedly returning empty.
The message-size limit counts the body and attributes together. A smaller
limit can catch unexpectedly large producer requests before they are stored.
The API exposes message-size and KMS settings that are not in the console’s
creation form.
Encryption and later changes
Bodies and attributes are encrypted at rest. Omitkms_key for platform
management, or provide a customer KMS key name, UUID, or CRN through the API.
Responses return a kms_key resource reference. Follow
Queue permissions for the grants needed to bind a key.
Update settings with PATCH /v1/queues/{queue_id}. Omitted fields stay as they
are. kms_key: null restores platform encryption for future messages;
existing messages retain their original encryption key. Keep that key usable
until those messages have been consumed or expired. redrive_policy: null
removes the dead-letter policy.

