Compartilhar via


Como enviar mensagens para o Azure Service Bus a partir do Gerenciamento de API do Azure

APLICA-SE A: Desenvolvedor | Básico | Padrão | Premium

Este artigo descreve como enviar mensagens do Gerenciamento de API para o Barramento de Serviço do Azure usando a integração baseada em política. Use o Gerenciamento de API para fornecer uma maneira segura e escalonável de enviar mensagens ao Barramento de Serviço.

Diagrama de integração do Gerenciamento de API com o Barramento de Serviço para mensagens.

O Barramento de Serviço do Azure é um serviço de mensagens empresarial totalmente gerenciado projetado para desacoplar aplicativos e serviços, permitindo mensagens de nuvem confiáveis entre sistemas distribuídos. Ele dá suporte ao AMQP (Advanced Message Queuing Protocol) para que os sistemas enviem mensagens para filas de mensagens para comunicação um-para-um e tópicos para padrões de publicação/assinatura. Service Bus é ideal para cenários que exigem operações assíncronas, nivelamento de carga ou integração entre ambientes de nuvem híbrida. Para mais informações, consulte a documentação do Azure Service Bus.

Com a integração baseada em política, o Gerenciamento de API fornece:

  • Proteger mensagens baseadas em REST para clientes externos – sistemas externos e aplicativos móveis que não têm suporte amqp nativo podem enviar mensagens para o Barramento de Serviço usando APIs HTTP/REST padrão por meio do Gerenciamento de API. Essa abordagem simplifica a integração e aprimora a segurança eliminando a necessidade de intermediários personalizados.
  • Integrações de terceiros governadas – as empresas podem expor endpoints do Service Bus por meio do Gerenciamento de API com autenticação integrada de identidade gerenciada, permitindo padrões de mensagens seguros e observáveis para parceiros e aplicativos de terceiros.
  • Modelo 'fire and forget' – Nenhum outro serviço de back-end é necessário para enviar mensagens ao Service Bus, permitindo arquiteturas mais simples e reduzindo a sobrecarga operacional.

Observação

  • A integração do Gerenciamento de API com o Barramento de Serviço está atualmente em versão prévia.
  • Há suporte apenas para o envio de mensagens para o Barramento de Serviço.

Observação

Atualmente, esse recurso não está disponível em workspaces.

Pré-requisitos

Configurar o acesso ao barramento de serviço

Para enviar mensagens para o barramento de serviço, você precisa configurar uma identidade gerenciada para sua instância de Gerenciamento de API:

  1. Habilite uma identidade gerenciada atribuída pelo sistema ou atribuída pelo usuário para o Gerenciamento de API em sua instância de Gerenciamento de API.

    • Se você ativar uma identidade gerenciada atribuída pelo usuário, faça anotações sobre o ID do Cliente dessa identidade.
  2. Atribua à identidade a função Remetente de Dados do Barramento de Serviço do Azure com escopo para o Barramento de Serviço. Para atribuir a função, use o portal do Azure ou outras ferramentas do Azure.

Configurar a política de enviar-mensagem-do-barramento-de-serviço

Configure a política de enviar-mensagem-do-barramento-de-serviço para enviar mensagens para a fila ou tópico desejado.

Por exemplo, use a política send-service-bus-message na seção de política de entrada para enviar o corpo da solicitação de uma solicitação de API quando o gateway a receber:

  1. No portal do Azure, acesse sua instância de Gerenciamento de API.

  2. No menu à esquerda, selecione APIs e, em seguida, selecione a API na qual deseja adicionar a política.

  3. Selecione Todas as operações.

  4. Na parte superior da tela, selecione a guia Design .

  5. Na janela Processamento de Entrada ou Processamento de Saída , selecione o </> ícone (editor de código). Para obter mais informações, consulte Como definir ou editar políticas.

  6. Posicione o cursor na seção inbound ou outbound política.

  7. Adicione a send-service-bus-message política à configuração de política e configure os atributos e os elementos conforme necessário.

    Por exemplo, envie o corpo da solicitação como uma mensagem:

    <send-service-bus-message queue-name="my-queue">
        <payload>@(context.Request.Body.As<string>())</payload>
    </send-service-bus-message>
    

    Você pode usar qualquer expressão que retorne uma cadeia de caracteres como o valor do payload elemento.

  8. Selecione Salvar para salvar a configuração de política atualizada. Assim que você salvá-la, a política estará ativa e as mensagens serão enviadas para o barramento de serviço designado.