Partilhar via


Como enviar mensagens para o Bus de Serviço do Azure a partir do Gestor de API do Azure

APLICA-SE A: Developer | 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íticas. Use o Gerenciamento de API para fornecer uma maneira segura e escalável de enviar mensagens para o Service Bus.

Diagrama de integração de API Management com Service Bus para mensagens.

O Barramento de Serviço do Azure é um serviço de mensagens empresariais, totalmente gerido, projetado para desacoplar aplicações e serviços, permitindo mensagens na nuvem de forma fiável entre sistemas distribuídos. Ele suporta AMQP (Advanced Message Queuing Protocol) para sistemas enviarem mensagens para filas de mensagens para comunicação um-a-um e tópicos para padrões de publicação/assinatura. O Service Bus é ideal para cenários que exigem operações assíncronas, nivelamento de carga ou integração em ambientes de nuvem híbrida. Para obter mais informações, consulte a documentação do Barramento de Serviço do Azure.

Com a integração baseada em políticas, o Gerenciamento de API oferece:

  • Mensagens seguras baseadas em REST para clientes externos - Sistemas externos e aplicativos móveis que não têm suporte nativo a AMQP podem enviar mensagens para o Service Bus usando APIs HTTP/REST padrão via Gerenciamento de API. Essa abordagem simplifica a integração e aumenta a segurança, eliminando a necessidade de intermediários personalizados.
  • Integrações de terceiros controladas - As empresas podem expor pontos de extremidade do Service Bus por meio do Gerenciamento de API com autenticação de identidade gerenciada integrada, 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 para o Service Bus, permitindo arquiteturas mais simples e sobrecarga operacional reduzida.

Observação

  • A integração do Gerenciamento de API com o Service Bus está atualmente em pré-visualização.
  • Apenas o envio de mensagens para o Service Bus é suportado.

Observação

Atualmente, esse recurso não está disponível em espaços de trabalho.

Pré-requisitos

  • Uma instância de serviço de Gerenciamento de API. Se você não tiver uma, consulte Criar uma instância de serviço de Gerenciamento de API.

  • Uma API de Gerenciamento de API usada para enviar mensagens para o Service Bus.

  • Uma fila ou tópico em um namespace do Barramento de Serviço do Azure para receber mensagens. Para obter etapas detalhadas, consulte uma das seguintes opções:

    Observação

    • Se você quiser usar tópicos e assinaturas, escolha a camada Standard ou Premium do Service Bus.
    • O recurso do Service Bus pode estar em uma assinatura diferente ou até mesmo em um locatário diferente do recurso de Gerenciamento de API.
  • Permissões para atribuir funções a uma identidade gerenciada.

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 pelo usuário para o Gerenciamento de API em sua instância de Gerenciamento de API.

    • Se você habilitar uma identidade gerenciada atribuída pelo usuário, anote a ID do Cliente da identidade.
  2. Atribua à identidade a função Remetente de Dados do Barramento de Serviço do Azure, abrangendo 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 send-service-bus-message

Configure a política send-service-bus-message para enviar mensagens para a fila ou tópico desejado.

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

  1. No portal do Azure, vá para sua instância de Gerenciamento de API.

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

  3. Selecione Todas as operações.

  4. Na parte superior do ecrã, selecione o separador Estrutura .

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

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

  7. Adicione a send-service-bus-message política à configuração da política e, em seguida, configure os atributos e 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.