> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basaltic.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Crear una cola

> Elija tipo, visibilidad, retención y destino de mensajes no entregados.

Cree la cola en la cuenta y región de productores y consumidores. El nombre y tipo son permanentes; los tiempos pueden actualizarse después.

<span id="create-a-standard-or-fifo-queue" />

## Crear cola estándar o FIFO

<Tabs>
  <Tab title="Console">
    1. Abra **Queues** y seleccione **Create queue**.
    2. Indique un **Name**. Active **FIFO queue** si necesita orden dentro de cada grupo. La consola añade `.fifo` al nombre.
    3. Configure **Visibility timeout**, **Retention**, **Delivery delay** y **Receive wait** en segundos.
    4. Opcionalmente elija una **Dead-letter queue** del mismo tipo y el máximo de recepciones. Cree el destino primero.
    5. Añada **Tags** opcionales y seleccione **Create queue**.

       La consola abre la cola. Use **Metrics** para gráficos de profundidad y tráfico, y **Messages** para inspeccionar mensajes.
  </Tab>

  <Tab title="API">
    Envíe esta solicitud a `https://queue.sa-saopaulo-1.basaltic.sh` con los encabezados de [Autenticación](/es/authentication).

    ```http theme={null}
    POST /v1/queues
    Content-Type: application/json
    ```

    ```json theme={null}
    {
      "name": "order-workers",
      "visibility_timeout_seconds": 60,
      "message_retention_seconds": 345600,
      "receive_wait_time_seconds": 20,
      "redrive_policy": {
        "dead_letter_queue": "failed-orders",
        "max_receive_count": 5
      },
      "tags": { "environment": "production" }
    }
    ```

    Cree `failed-orders` primero u omita la política de redirección. HTTP `201` devuelve la cola en `queue`. Guarde el ID para operaciones de mensajes y el CRN para políticas IAM. Un nombre terminado en `.fifo` crea FIFO.
  </Tab>

  <Tab title="CLI">
    Guarde la solicitud JSON de la pestaña API como `request-1.json`. Use su cuenta y región configuradas.

    ```bash theme={null}
    basaltic queue queue create --from-file request-1.json
    ```
  </Tab>

  <Tab title="Go">
    Guarde la solicitud JSON de la pestaña API como `request-1.json`. Configure credenciales, cuenta y región mediante las variables de entorno del SDK.

    ```go theme={null}
    package main

    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"os"

    	basaltic "github.com/basaltic-sh/sdk-go"
    	"github.com/basaltic-sh/sdk-go/queue"
    )

    func readJSON(path string, value any) error {
    	data, err := os.ReadFile(path)
    	if err != nil {
    		return err
    	}
    	return json.Unmarshal(data, value)
    }

    func run() error {
    	ctx := context.Background()
    	cfg, err := basaltic.NewConfig(ctx)
    	if err != nil {
    		return err
    	}
    	client := queue.New(cfg)
    	var request1 queue.CreateQueueRequest
    	if err := readJSON("request-1.json", &request1); err != nil {
    		return err
    	}
    	result1, err := client.CreateQueue(ctx, &request1)
    	if err != nil {
    		return err
    	}
    	fmt.Printf("%+v\n", result1)
    	return nil
    }

    func main() {
    	if err := run(); err != nil {
    		fmt.Fprintln(os.Stderr, err)
    		os.Exit(1)
    	}
    }
    ```
  </Tab>
</Tabs>

<span id="naming-and-type" />

## Nombre y tipo

Los nombres tienen 1–80 letras ASCII, dígitos, puntos, guiones o guiones bajos y empiezan por letra o dígito. El sufijo `.fifo` cuenta en ese límite. Los nombres son únicos en la cuenta y región. Los UUID y el prefijo `crn:` están reservados.

Use colas estándar cuando baste el orden de mejor esfuerzo. Use FIFO para procesar mensajes del mismo grupo en orden. Ambas exigen procesamiento idempotente tras vencer una concesión. Consulte [Colas FIFO y de mensajes no entregados](/es/queue/fifo-and-dead-letter-queues).

<span id="settings-and-defaults" />

## Configuración y valores predeterminados

| Configuración | Valor predeterminado | Intervalo permitido |
| - | - | - |
| `visibility_timeout_seconds` | 30 | 0–43,200 segundos |
| `message_retention_seconds` | 345,600 (4 días) | 60–1,209,600 segundos (14 días) |
| `max_message_bytes` | 262,144 (256 KiB) | 1,024–262,144 bytes |
| `delay_seconds` | 0 | 0–900 segundos |
| `receive_wait_time_seconds` | 0 | 0–20 segundos |
| `kms_data_key_reuse_period_seconds` | 300 | 60–86,400 segundos |
| `content_based_deduplication` | `false` | Solo FIFO |
| Redirección `max_receive_count` | Obligatorio al vincular destino | 1–1,000 |

Elija una visibilidad suficiente para el procesamiento habitual y amplíe concesiones individuales para trabajos largos. La retención limita la permanencia de mensajes no confirmados. El retraso aplaza la primera disponibilidad. Long polling espera trabajo en lugar de devolver vacío repetidamente.

El límite de tamaño incluye cuerpo y atributos. Un límite menor detecta envíos inesperadamente grandes antes de almacenarlos. La API ofrece configuración de tamaño y KMS que no aparece en el formulario de creación de la consola.

<span id="encryption-and-later-changes" />

## Cifrado y cambios posteriores

Los cuerpos y atributos se cifran en reposo. Omita `kms_key` para administración por la plataforma o envíe nombre, UUID o CRN de su clave KMS mediante la API. Las respuestas incluyen una referencia `kms_key`. Consulte los permisos de vinculación en [Permisos de Queue](/es/queue/permissions).

Actualice con `PATCH /v1/queues/{queue_id}`. Los campos omitidos se conservan. `kms_key: null` restaura el cifrado de la plataforma para mensajes nuevos; los existentes conservan la clave original. Mantenga esa clave utilizable hasta su consumo o vencimiento. `redrive_policy: null` elimina la política de mensajes no entregados.

<span id="next-steps" />

## Siguientes pasos

[Envíe y consuma mensajes](/es/queue/messages), configure el [tratamiento de fallos](/es/queue/fifo-and-dead-letter-queues) y siga las [métricas](/es/queue#metrics) para detectar acumulación y recepciones repetidas.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.