Criar Subscrição

Importante

Esta API é obsoleta e descontinuada a partir de 11/01/2021 e já não deve ser utilizada.

Cria uma nova subscrição. Depois de criado, o manifesto do recurso de subscrição é imutável. Esta operação não é idempotente. Repetir a chamada de criação depois de uma subscrição com o mesmo nome (no mesmo tópico e espaço de nomes) ter sido criada com êxito, resulta numa mensagem de erro 409 Conflito.

Se criar uma subscrição com um nome que contenha carateres especiais ou codificados (por exemplo, "teste? Name=value&", que é codificado para "test%3FName%3Dvalue%26"), é gerada uma (401) Exceção não autorizada.

Tenha em atenção as seguintes restrições de nome de subscrição:

  1. Só pode conter letras, números, pontos finais (.), hífenes (-) e carateres de sublinhado (_).

  2. Não são permitidos vários segmentos.

  3. Barra (/) não permitida como prefixo ou sufixo do nome da subscrição.

  4. O número máximo de carateres é 50.

Pedir

Método URI do pedido Versão HTTP
PUT https://management.core.windows.net/{subscription ID}/services/ServiceBus/Namespaces/Topics/Subscriptions/{Subscription Name} HTTP/1.1

Cabeçalhos de Pedido

A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.

Cabeçalho do Pedido Description
Content-Type application/xml;type=entry; charset=utf-8
Espaço de Nomes URL do Ponto Final de Gestão
x-ms-version 2012-03-01

O pedido também requer um certificado de cliente. Este certificado tem de corresponder ao certificado que carregou para essa subscrição específica.

Corpo do Pedido

A tabela seguinte descreve os elementos principais do corpo do pedido:

Nome da Propriedade Tipo Description
DefaultMessageTimeToLive XML Datetime Com base no facto de as letras não entregues serem ativadas, se uma mensagem tiver sido armazenada no tópico durante mais do que a hora especificada, será automaticamente movida para a fila de mensagens não entregues ou eliminada. Este valor é substituído por um TTL especificado na mensagem se a mensagem TTL for menor do que o TTL definido no tópico. Este valor é imutável depois de o tópico ter sido criado:

- Intervalo: 1 segundo a 14 dias.

- Predefinição: 14 dias.
LockDuration XML Datetime Esta definição determina a quantidade de tempo, em segundos, em que uma mensagem deve ser bloqueada para processamento por um recetor. Após este período, a mensagem é desbloqueada e está disponível para consumo pelo recetor seguinte. Settable apenas no momento da criação do tópico:

- Intervalo: 0 a 5 min. 0 significa que a mensagem não está bloqueada.

- Predefinição: 30s.
RequiresSession Booleano Settable apenas no momento da criação do tópico. Se estiver definido como true, o tópico tem deteção de sessão e só SessionReceiver é suportado. Os tópicos com deteção de sessão não são suportados através do REST.

- Predefinição: Falso.
EnableDeadLetteringOnMessageExpiration Booleano Settable apenas no momento de criação da subscrição.

- Predefinição: Falso.

Este campo determina como o Service Bus processa uma mensagem com um TTL expirado. Se true e uma mensagem expirar, o Service Bus move a mensagem do tópico para a subconsulta de mensagens não entregues desse tópico. Se false, a mensagem é eliminada permanentemente do tópico.
DeadLetteringOnFilterEvaluationExceptions Determina como o Service Bus processa uma mensagem que causa uma exceção durante uma avaliação do filtro de subscrição. Se true, a mensagem que causou a exceção é movida para a fila de mensagens não entregues da subscrição. Caso contrário, é eliminado. Por predefinição, este parâmetro está definido como true, permitindo-lhe investigar a causa da exceção. Pode ocorrer a partir de uma mensagem com formato incorreto ou de pressupostos incorretos que estão a ser feitos no filtro sobre a forma da mensagem. Settable apenas no momento da criação do tópico.

- Predefinição: verdadeiro
EnableBatchedOperations Ativa ou desativa o comportamento de criação de batches do lado do serviço ao realizar operações para a fila específica. Quando ativado, o Service Bus recolhe/cria lotes de várias operações no back-end para ser mais eficiente na ligação. Se quiser uma latência de operação mais baixa, pode desativar esta funcionalidade.

Predefinição: falso
MaxDeliveryCount Número Inteiro Não Assinado O número máximo de vezes que o Service Bus tenta entregar uma mensagem antes de a mensagem ser entregue ou eliminada.

- Predefinição: 10
MessageCount Número Inteiro Não Assinado Comunica o número de mensagens na subscrição que ainda não foram colocadas em fila, conforme comunicado pelo sistema de monitorização.

Resposta

A resposta inclui um código de estado HTTP e um conjunto de cabeçalhos de resposta.

Códigos de Resposta

Nota

Se criar um espaço de nomes com um nome que contenha carateres especiais ou codificados (por exemplo, test?Name=value&, que é codificado para test%3FName%3Dvalue%26), é gerada uma exceção (401) Não autorizada.

Código Descrição
201 Subscrição criada com êxito.
400 Corpo do pedido inválido.
401 Falha de autorização.
403 Quota excedida; subscrição não criada.
409 A subscrição especificada já existe (ou o caminho especificado já está ocupado).
500 Erro interno.

Para obter informações sobre códigos de estado, veja Códigos de Estado e Erro.

Cabeçalhos de Resposta

Nenhum.

Corpo da Resposta

A descrição da subscrição é devolvida porque quando o pedido PUT não especifica valores para todos os atributos da subscrição, algumas propriedades de descrição podem conter valores predefinidos.