Compartilhar via


Visão geral das associações do Azure RabbitMQ para o Azure Functions

O Azure Functions integra-se com o RabbitMQ por meio de gatilhos e associações.

Observação

As associações do RabbitMQ só têm suporte total nos planos Elastic Premium e Dedicated (Serviço de Aplicativo). Os planos Flex Consumption e Consumption ainda não são compatíveis.

Não há suporte para associações do RabbitMQ no runtime do Azure Functions v1.x.

A extensão do RabbitMQ do Azure Functions permite que você envie e receba mensagens usando a API do RabbitMQ com o Functions.

Ação Tipo
Executar uma função quando uma mensagem do RabbitMQ passa pela fila Gatilho
Enviar mensagens do RabbitMQ Associação de saída

Pré-requisitos

Antes de trabalhar com a extensão RabbitMQ, você precisa configurar seu ponto de extremidade RabbitMQ. Para saber mais sobre o RabbitMQ, confira a página de introdução.

Instalar a extensão

O pacote NuGet da extensão instalado depende do modo C# usado no aplicativo de funções:

As funções são executadas em um processo de trabalho do C# isolado. Para saber mais, confira o Guia para executar C# do Azure Functions em um processo de trabalho isolado.

Adicione a extensão ao seu projeto instalando este pacote do NuGet.

Instalar pacote

Para poder usar essa extensão de associação em seu aplicativo, verifique se o arquivo host.json na raiz do projeto contém esta extensionBundle referência:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Neste exemplo, o version valor instrui o host do [4.0.0, 5.0.0) Functions a usar uma versão de pacote pelo menos 4.0.0 menor que 5.0.0, que inclui todas as versões potenciais do 4.x. Essa notação mantém efetivamente seu aplicativo na versão secundária mais recente disponível do pacote de extensão v4.x.

Quando possível, você deve usar a versão principal do pacote de extensão mais recente e permitir que o runtime mantenha automaticamente a versão secundária mais recente. Você pode exibir o conteúdo do pacote mais recente na página de lançamento dos pacotes de extensão. Para obter mais informações, consulte os pacotes de extensão do Azure Functions.

configurações de host.json

Esta seção descreve as configurações disponíveis para essa associação na versão 2.x e posterior. As configurações no arquivo host.json se aplicam a todas as funções em uma instância do aplicativo de funções. Para obter mais informações sobre as configurações de aplicativo de funções, consulte host.json referência para o Azure Functions.

{
    "version": "2.0",
    "extensions": {
        "rabbitMQ": {
            "prefetchCount": 100,
            "queueName": "queue",
            "connectionString": "%<MyConnectionAppSetting>%",
            "port": 10
        }
    }
}
Propriedade Padrão Description
prefetchCount 30 Obtém ou define o número de mensagens que o receptor de mensagem pode solicitar simultaneamente e é armazenado em cache.
queueName n/a Nome da fila da qual receber mensagens.
connectionString n/a A configuração do aplicativo que contém a cadeia de conexão da fila de mensagens RabbitMQ.
port 0 (ignorado se estiver usando connectionString) Obtém ou define a porta usada. O padrão é 0, que aponta para a configuração de porta padrão do cliente rabbitmq: 5672.