AMQP 1.0 no Barramento de Serviço do Microsoft Azure: operações baseadas em solicitação-resposta
Este artigo define a lista de operações baseadas em solicitação/resposta do Barramento de Serviço do Microsoft Azure. Essas informações são baseadas no rascunho de trabalho do AMQP Management Versão 1.0.
Para obter um guia detalhado do protocolo AMQP 1.0 no nível de cabo, que explica como o Service Bus implementa e se baseia na especificação técnica do OASIS AMQP, consulte o AMQP 1.0 no guia de protocolo do Azure Service Bus e Hubs de Eventos.
Conceitos
ServiceBusReceivedMessage / ServiceBusMessage
Representa uma mensagem no Service Bus, que é mapeada para uma mensagem AMQP. O mapeamento é definido no guia de protocolo AMQP do Service Bus.
Anexar ao nó de gerenciamento de entidade
Todas as operações descritas neste documento seguem um padrão de solicitação/resposta, têm escopo para uma entidade e exigem anexação a um nó de gerenciamento de entidade.
Criar link para enviar solicitações
Cria um link para o nó de gerenciamento para enviar solicitações.
requestLink = session.attach(
role: SENDER,
target: { address: "<entity address>/$management" },
source: { address: ""<my request link unique address>" }
)
Criar link para receber respostas
Cria um link para receber respostas do nó de gerenciamento.
responseLink = session.attach(
role: RECEIVER,
source: { address: "<entity address>/$management" }
target: { address: "<my response link unique address>" }
)
Transferir uma mensagem de pedido
Transfere uma mensagem de solicitação.
Um estado de transação pode ser adicionado opcionalmente para operações que suportam transações.
requestLink.sendTransfer(
Message(
properties: {
message-id: <request id>,
reply-to: "<my response link unique address>"
},
application-properties: {
"operation" -> "<operation>",
}
),
[Optional] State = transactional-state: {
txn-id: <txn-id>
}
)
Receber uma mensagem de resposta
Recebe a mensagem de resposta do link de resposta.
responseMessage = responseLink.receiveTransfer()
A mensagem de resposta está no seguinte formato:
Message(
properties: {
correlation-id: <request id>
},
application-properties: {
"statusCode" -> <status code>,
"statusDescription" -> <status description>,
},
)
Endereço da entidade do Service Bus
As entidades do Service Bus devem ser abordadas da seguinte forma:
Tipo de entidade | Endereço | Exemplo |
---|---|---|
queue | <queue_name> |
“myQueue” “site1/myQueue” |
topic | <topic_name> |
“myTopic” “site2/page1/myQueue” |
subscrição | <topic_name>/Subscriptions/<subscription_name> |
“myTopic/Subscriptions/MySub” |
Operações de mensagem
Bloqueio de renovação de mensagem
Estende o bloqueio de uma mensagem pela duração de bloqueio definida na fila ou assinatura.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:renew-lock |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
lock-tokens |
Matriz de UUID | Sim | Tokens de bloqueio de mensagem para renovar. |
Nota
O token de bloqueio aqui refere-se à delivery-tag
propriedade na mensagem AMQP recebida. Se você recebeu uma mensagem adiada e deseja renovar seu bloqueio, use a propriedade lock-token
na mensagem em vez de .delivery-tag
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou. |
statusDescrição | string | Não | Descrição do estado. |
O corpo da mensagem de resposta deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
expirações | Matriz de carimbo de data/hora | Sim | Novo vencimento do token de bloqueio de mensagem correspondente aos tokens de bloqueio de solicitação. |
Mensagem de espreitar
Espreita mensagens sem bloquear.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:peek-message |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
from-sequence-number |
long | Sim | Número de sequência a partir do qual começar a espreitar. |
message-count |
número inteiro | Sim | Número máximo de mensagens a espreitar. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – tem mais mensagens 204: Sem conteúdo – sem mais mensagens |
statusDescrição | string | Não | Descrição do estado. |
O corpo da mensagem de resposta deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
mensagens | Lista de mapas | Sim | Lista de mensagens em que cada mapa representa uma mensagem. |
O mapa que representa uma mensagem deve conter as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
mensagem | matriz de byte | Sim | AMQP 1.0 mensagem codificada por fio. |
Agendar Mensagem
Programa mensagens. Esta operação suporta transação.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:schedule-message |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
mensagens | Lista de mapas | Sim | Lista de mensagens em que cada mapa representa uma mensagem. |
O mapa que representa uma mensagem deve conter as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
ID da mensagem | string | Sim | amqpMessage.Properties.MessageId como string |
ID da sessão | string | Não | amqpMessage.Properties.GroupId as string |
chave de partição | string | Não | amqpMessage.MessageAnnotations.”x-opt-partition-key" |
via-chave-partição | string | Não | amqpMessage.MessageAnnotations."x-opt-via-partition-key" |
mensagem | matriz de byte | Sim | AMQP 1.0 mensagem codificada por fio. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou. |
statusDescrição | string | Não | Descrição do estado. |
O corpo da mensagem de resposta deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
números-sequência | matriz de longo | Sim | Número de sequência de mensagens agendadas. O número de sequência é usado para cancelar. |
Cancelar mensagem agendada
Cancela mensagens agendadas.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:cancel-scheduled-message |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
números-sequência | matriz de longo | Sim | Números de sequência de mensagens agendadas a serem canceladas. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou. |
statusDescrição | string | Não | Descrição do estado. |
Operações de sessão
Bloqueio de renovação de sessão
Estende o bloqueio de uma mensagem pela duração de bloqueio definida na fila ou assinatura.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:renew-session-lock |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
ID da sessão | string | Sim | ID da Sessão. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – tem mais mensagens 204: Sem conteúdo – sem mais mensagens |
statusDescrição | string | Não | Descrição do estado. |
O corpo da mensagem de resposta deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
expiração | carimbo de data/hora | Sim | Novo prazo de validade. |
Mensagem da sessão de espreitar
Espreita mensagens de sessão sem bloquear.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:peek-message |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
de-seqüência-número | long | Sim | Número de sequência a partir do qual começar a espreitar. |
contagem de mensagens | número inteiro | Sim | Número máximo de mensagens a espreitar. |
ID da sessão | string | Sim | ID da Sessão. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – tem mais mensagens 204: Sem conteúdo – sem mais mensagens |
statusDescrição | string | Não | Descrição do estado. |
O corpo da mensagem de resposta deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
mensagens | Lista de mapas | Sim | Lista de mensagens em que cada mapa representa uma mensagem. |
O mapa que representa uma mensagem deve conter as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
mensagem | matriz de byte | Sim | AMQP 1.0 mensagem codificada por fio. |
Definir Estado da Sessão
Define o estado de uma sessão.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:set-session-state |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
ID da sessão | string | Sim | ID da Sessão. |
estado-sessão | matriz de bytes | Sim | Dados binários opacos. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou |
statusDescrição | string | Não | Descrição do estado. |
Obter estado da sessão
Obtém o estado de uma sessão.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:get-session-state |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
ID da sessão | string | Sim | ID da Sessão. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou |
statusDescrição | string | Não | Descrição do estado. |
O corpo da mensagem de resposta deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
estado-sessão | matriz de bytes | Sim | Dados binários opacos. |
Enumerar sessões
Enumera sessões em uma entidade de mensagens.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:get-message-sessions |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
última hora de atualização | carimbo de data/hora | Sim | Filtro para incluir apenas sessões atualizadas após um determinado tempo. |
skip | número inteiro | Sim | Pule várias sessões. |
principal | número inteiro | Sim | Número máximo de sessões. |
Nota
Quando você define LastUpdatedTime
como DateTime.MaxValue
(em .NET), o método Enumerate Sessions retorna todas as sessões, independentemente de terem estado ou não. DateTime.MaxValue
no .NET pode não existir em outras linguagens de programação. Nesses casos, use um carimbo de data/hora igual a 253402300800000
milissegundos da Época (1º de janeiro de 1970, 00:00:00 GMT), que é equivalente ao DateTime.MaxValue
.NET.
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – tem mais mensagens 204: Sem conteúdo – sem mais mensagens |
statusDescrição | string | Não | Descrição do estado. |
O corpo da mensagem de resposta deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
skip | número inteiro | Sim | Número de sessões ignoradas se o código de status for 200. |
sessões-ids | matriz de cadeias | Sim | Matriz de IDs de sessão se o código de status for 200. |
Operações de regra
Adicionar Regra
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:add-rule |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
nome-regra | string | Sim | Nome da regra, não incluindo nomes de assinatura e tópico. |
descrição da regra | map | Sim | Descrição da regra, conforme especificado na próxima seção. |
O mapa de descrição da regra deve incluir as seguintes entradas, onde sql-filter e correlation-filter são mutuamente exclusivos:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
sql-filtro | map | Sim | sql-filter , conforme especificado na secção seguinte. |
correlação-filtro | map | Sim | correlation-filter , conforme especificado na secção seguinte. |
sql-rule-action | map | Sim | sql-rule-action , conforme especificado na secção seguinte. |
O mapa sql-filter deve incluir as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
expressão | string | Sim | Expressão de filtro SQL. |
O mapa de filtro de correlação deve incluir pelo menos uma das seguintes entradas:
O mapa sql-rule-action deve incluir as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
expressão | string | Sim | Expressão de ação SQL. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou |
statusDescrição | string | Não | Descrição do estado. |
Remover regra
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:remove-rule |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
nome-regra | string | Sim | Nome da regra, não incluindo nomes de assinatura e tópico. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou |
statusDescrição | string | Não | Descrição do estado. |
Obter regras
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:enumerate-rules |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
principal | número inteiro | Sim | O número de regras a serem buscadas na página. |
skip | número inteiro | Sim | O número de regras a ignorar. Define o índice inicial (+1) na lista de regras. |
Response
A mensagem de resposta inclui as seguintes propriedades:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou |
regras | Lista de mapas | Sim | Lista de regras. Cada regra é representada por um mapa. |
Cada entrada de mapa na lista inclui as seguintes propriedades:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
descrição da regra | objeto descrito | Sim | com.microsoft:rule-description com o código AMQP descrito 0x0000013700000004 |
com.microsoft.rule-description
em si é uma lista descrita. Tem as seguintes propriedades:
Índice | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
0 | lista descrita | Sim | filter conforme especificado na tabela seguinte. |
1 | lista descrita | Sim | ruleAction conforme especificado mais adiante nesta seção. |
2 | string | Sim | nome da regra. |
3 | carimbo de data/hora | Sim | carimbo de data/hora. |
filter
pode ser de qualquer um dos seguintes tipos:
Nome do descritor | Código do descritor | Value |
---|---|---|
com.microsoft:sql-filter:list |
0x000001370000006 | Filtro SQL |
com.microsoft:correlation-filter:list |
0x000001370000009 | Filtro de correlação |
com.microsoft:true-filter:list |
0x000001370000007 | Filtro verdadeiro representando 1=1 |
com.microsoft:false-filter:list |
0x000001370000008 | Filtro falso representando 1=0 |
com.microsoft:sql-filter:list
é uma lista descrita, que inclui:
Índice | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
0 | string | Sim | Expressão do Filtro SQL |
1 | número inteiro | Sim | sempre 20. Este inteiro é o nível de compatibilidade do filtro sql. Ele indica a versão de sintaxe do filtro sql. |
com.microsoft:correlation-filter:list
é uma lista descrita, que inclui:
Índice (se existir) | Tipo de valor | Conteúdo do valor |
---|---|---|
0 | string | ID de Correlação |
1 | string | ID da mensagem |
2 | string | Para |
3 | string | Responder A |
4 | string | Etiqueta |
5 | string | ID da Sessão |
6 | string | Responder à ID da sessão |
7 | string | Tipo de Conteúdo |
8 | Mapa | Mapa das propriedades definidas pela aplicação |
ruleAction
pode ser de qualquer um dos seguintes tipos:
Nome do descritor | Código do descritor | Value |
---|---|---|
com.microsoft:empty-rule-action:list |
0x0000013700000005 | Ação de regra vazia - Nenhuma ação de regra presente |
com.microsoft:sql-rule-action:list |
0x0000013700000006 | Ação de regra SQL |
com.microsoft:sql-rule-action:list
é uma lista descrita que tem dois elementos.
Índice | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
0 | string | Sim | Expressão da ação da regra SQL |
1 | número inteiro | Sim | sempre 20. Este inteiro é o nível de compatibilidade do filtro sql. Ele indica a versão de sintaxe do filtro sql. |
Operações de mensagens adiadas
Receber por número de sequência
Recebe mensagens adiadas por número de sequência.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:receive-by-sequence-number |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
números-sequência | matriz de longo | Sim | Números de sequência. |
modo receptor-assentamento | Ubyte | Sim | Modo de liquidação do recetor conforme especificado no núcleo AMQP v1.0. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou |
statusDescrição | string | Não | Descrição do estado. |
O corpo da mensagem de resposta deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
mensagens | Lista de mapas | Sim | Lista de mensagens onde cada mapa representa uma mensagem. |
O mapa que representa uma mensagem deve conter as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
Lock-token | uuid | Sim | Token de bloqueio se receiver-settle-mode for 1. |
mensagem | matriz de byte | Sim | AMQP 1.0 mensagem codificada por fio. |
Atualizar status de disposição
Atualiza o status de disposição de mensagens adiadas. Esta operação suporta transações.
Pedir
A mensagem de solicitação deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
operation | string | Sim | com.microsoft:update-disposition |
com.microsoft:server-timeout |
uint | Não | Tempo limite do servidor de operação em milissegundos. |
O corpo da mensagem de solicitação deve consistir em uma seção amqp-value contendo um mapa com as seguintes entradas:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
estado de disposição | string | Sim | concluído abandonado suspenso |
Fichas de bloqueio | Matriz de UUID | Sim | Tokens de bloqueio de mensagem para atualizar o status de descarte. |
letra morta-razão | string | Não | Ele é definido se o status de disposição estiver definido como suspenso. |
deadletter-descrição | string | Não | Ele é definido se o status de disposição estiver definido como suspenso. |
propriedades-para-modificar | map | Não | Lista de propriedades de mensagens intermediadas pelo Service Bus a serem modificadas. |
Response
A mensagem de resposta deve incluir as seguintes propriedades do aplicativo:
Chave | Tipo de valor | Necessário | Conteúdo do valor |
---|---|---|---|
statusCode | número inteiro | Sim | Código de resposta HTTP [RFC2616] 200: OK – sucesso, caso contrário falhou |
statusDescrição | string | Não | Descrição do estado. |
Próximos passos
Para saber mais sobre AMQP e Service Bus, visite os seguintes links: