Crear tema

Importante

Esta API está obsoleta y retirada a partir del 11/1/2021 y ya no debe usarse.

Crea nuevo tema. Una vez creado, el manifiesto del recurso del tema es inmutable. Esta operación es idempotente. Si la llamada de creación se repite una vez creada correctamente una cola con el mismo nombre, se traduce en un mensaje de error 409 (Conflicto).

Tenga en cuenta lo siguiente:

  • El tema no se elimina inmediatamente. Se marca para eliminación y el agente de administración de recursos recupera la solicitud de eliminación en los cinco minutos siguientes. Sin embargo, la interfaz de usuario debe reflejar esta operación inmediatamente de acuerdo con el código HTTP recibido.

  • El nombre del tema es realmente la ruta de acceso del URI. La expresión regular siguiente valida cada segmento de la ruta de acceso del URI después de quitar la posible codificación %.

  • El nombre del tema debe cumplir la siguiente expresión RegEx.

    public static readonly Regex SafeMessagingEntityNameExpression = new Regex(@"^[\w-\.\$]*/?$", RegexOptions.Compiled | RegexOptions.ECMAScript);

    Esto significa lo siguiente:

    • Los segmentos de entidad solo pueden contener letras, números, puntos (.), guiones (-) y caracteres de subrayado (_).

    • Se permiten varios segmentos (por ejemplo, si el nombre de la cola = "a/b/c", contiene tres segmentos).

    • No se permite el uso de barra diagonal (/) como prefijo o sufijo de nombre de la cola.

    • El número máximo de caracteres es 50.

Solicitud

Método URI de solicitud Versión de HTTP
PUT https://management.core.windows.net/{subscription ID}/services/ServiceBus/Namespaces/{Namespace}/Topics/{Topic Path} HTTP/1.1

Encabezados de solicitud

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

Encabezado de solicitud Descripción
Content-Type application/xml;type=entry;charset=utf-8
x-ms-version 2012-03-01

Tenga en cuenta que la solicitud también necesita un certificado de cliente. Este certificado debe coincidir con el certificado que cargó para la suscripción concreta.

Cuerpo de la solicitud

La tabla siguiente describe los elementos clave del cuerpo de la solicitud:

Nombre de propiedad Tipo Obligatorio Descripción
MaxTopicSizeInMegaBytes Entero sin signo Necesario. Este parámetro especifica el tamaño máximo del tema en megabytes. Cualquier intento de poner en cola un mensaje que provoque que el tema supere este valor provocará un error. Solo el contenido de usuario cuenta para este valor. Se puede establecer en el momento de la creación del tema y en el tiempo de ejecución:

- Intervalo: 1–5*1024.

- Valor predeterminado: 1*1024.
TopicSizeinBytes Entero sin signo Solo lectura. No se requiere en el momento de la creación. Este parámetro refleja el número real de bytes que los mensajes del tema ocupan actualmente en relación con la cuota del tema.

Intervalo: 0 – MaxTopicSizeinMegaBytes
DefaultMessageTimeToLive Fecha y hora XML Opcional. Según cómo se habilite la opción de mensajes fallidos, si un mensaje se almacena en el tema durante más tiempo del especificado, se mueve a la cola de mensajes fallidos o se elimina automáticamente. Este valor lo sobrescribe un TTL especificado en el mensaje si el TTL del mensaje es menor que el TTL establecido en el tema. Este valor es inmutable tras la creación del tema:

- Intervalo: 1 segundo – 14 días.

- Valor predeterminado: 14 días.
RequiresDuplicateDetection Boolean Opcional. Configurable solo en el momento de la creación del tema.

- Valor predeterminado para el tema duradero: False.
EnableDeadLetteringOnMessageExpiration Boolean Opcional. Configurable solo en el momento de la creación del tema.

- Valor predeterminado: False.

Este campo determina cómo Service Bus controla un mensaje con un TTL expirado. Si está habilitado y expira un mensaje, Service Bus mueve el mensaje del tema a la subconsulta de mensajes fallidos de ese tema. Si se deshabilita, el mensaje se elimina irreversiblemente de la cola.
DuplicateDetectionHistoryTimeWindow Intervalo de tiempo Opcional. Propiedad que especifica el intervalo de tiempo durante el cual Service Bus detecta la duplicación de mensajes.

- Intervalo: 1 segundo – 7 días.

- Valor predeterminado: 10 minutos.
NumberOfSubscriptions Entero Solo lectura. No se requiere en el momento de la creación. Número de suscripciones del tema.
Estado String Solo lectura. Uno de los siguientes valores:

- Creación: cuando todavía está en la fase de creación.
- Activo: de forma predeterminada después de la creación, o cuando el usuario lo activa después de la última vez suspendida.
- Suspendido: cuando el usuario actualiza la entidad que se va a suspender.

Response

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

Códigos de respuesta

Nota

Si crea un tema con un nombre que contiene caracteres especiales o codificados (por ejemplo, test?Name=value&, que se codifica test%3FName%3Dvalue%26en ), se genera una excepción no autorizada (401).

Código Descripción
201 Tema creado correctamente.
400 Cuerpo de solicitud no válido.
401 Error de autorización.
403 Cuota superada, la cola no se ha actualizado.
500 Error interno.

Para obtener información sobre los códigos de estado, vea Códigos de estado y error.

Encabezados de respuesta

Encabezado de respuesta Descripción
Content-Type application/xml;type=entry;charset=utf-8

Cuerpo de la respuesta

Devuelve la descripción del tema, porque si faltaran algunas propiedades de descripción de la solicitud PUT, podrían contener valores predeterminados.