Partilhar via


Migrar aplicativos de função da extensão do Barramento de Serviço do Azure versão 4.x para a versão 5.x

Este artigo destaca considerações para atualizar seus aplicativos existentes do Azure Functions que usam a extensão do Barramento de Serviço do Azure versão 4.x para usar a extensão mais recente versão 5.x. A migração da versão 4.x para a versão 5.x da extensão do Barramento de Serviço do Azure tem alterações significativas para seu aplicativo.

Importante

Em 31 de março de 2025, a versão 4.x da extensão do Barramento de Serviço do Azure será desativada. A extensão e todos os aplicativos que usam a extensão continuarão a funcionar, mas o Barramento de Serviço do Azure deixará de fornecer mais manutenção e suporte para essa extensão. Recomendamos migrar para a versão mais recente 5.x da extensão.

Este artigo orienta você pelo processo de migração do seu aplicativo de função para ser executado na versão 5.x da extensão do Barramento de Serviço do Azure. Como as instruções de atualização do projeto dependem do idioma, certifique-se de escolher seu idioma de desenvolvimento no seletor na parte superior do artigo.

Atualizar a versão da extensão

O .NET Functions usa extensões instaladas no projeto como pacotes NuGet. Dependendo do seu modelo de processo do Functions, o pacote NuGet a ser atualizado varia.

Modelo de processo de funções Extensão do Barramento de Serviço do Azure Versão recomendada
Modelo em processo Microsoft.Azure.WebJobs.Extensions.ServiceBus >= 5.13.4
Modelo de trabalhador isolado Microsoft.Azure.Functions.Worker.Extensions.ServiceBus >= 5.14.1

Atualize seu .csproj arquivo de projeto para usar a versão de extensão mais recente para seu modelo de processo. O arquivo a seguir .csproj usa a versão 5 da extensão do Barramento de Serviço do Azure.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net7.0</TargetFramework>
    <AzureFunctionsVersion>v4</AzureFunctionsVersion>
    <OutputType>Exe</OutputType>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.21.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.ServiceBus" Version="5.16.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.16.4" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

Atualizar o pacote de extensão

Por padrão, os pacotes de extensões são usados por aplicativos de função non-.NET para instalar extensões de vinculação. A extensão do Azure Service Bus versão 5 faz parte do pacote de extensão versão 4.

Para atualizar seu aplicativo para usar o pacote de extensão mais recente, atualize o arquivo host.json. O arquivo a seguir host.json usa a versão 4 do pacote de extensão.

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

Modificar o código da função

A extensão do Azure Functions Azure Service Bus versão 5 é criada sobre o SDK do Azure.Messaging.ServiceBus versão 3, que removeu o suporte para a Message classe. Em vez disso, use o ServiceBusReceivedMessage tipo para receber metadados de mensagens de Filas e Assinaturas do Service Bus.

Próximos passos