Module Smaws_Client_SQS.CreateQueue

val request : Smaws_Lib.Context.t -> create_queue_request -> (create_queue_result, [> Smaws_Lib.Protocols.AwsJson.error | `InvalidAddress of invalid_address | `InvalidAttributeName of invalid_attribute_name | `InvalidAttributeValue of invalid_attribute_value | `InvalidSecurity of invalid_security | `QueueDeletedRecently of queue_deleted_recently | `QueueNameExists of queue_name_exists | `RequestThrottled of request_throttled | `UnsupportedOperation of unsupported_operation ]) Stdlib.result

Creates a new standard or FIFO queue. You can pass one or more attributes in the request. Keep the following in mind:

  • If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue.

    You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the Amazon SQS Developer Guide.

  • If you don't provide a value for an attribute, the queue is created with the default value for the attribute.
  • If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

To successfully create a new queue, you must provide a queue name that adheres to the limits related to queues and is unique within the scope of your queues.

After you create a queue, you must wait at least one second after the queue is created to be able to use the queue.

To get the queue URL, use the

[GetQueueUrl]

action.

[GetQueueUrl]

requires only the QueueName parameter. be aware of existing queue names:

  • If you provide the name of an existing queue along with the exact names and values of all the queue's attributes, CreateQueue returns the queue URL for the existing queue.
  • If the queue name, attribute names, or attribute values don't match an existing queue, CreateQueue returns an error.

Cross-account permissions don't apply to this action. For more information, see Grant cross-account permissions to a role and a username in the Amazon SQS Developer Guide.