image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Roberto Melo
Roberto Melo20/03/2025 15:02
Compartilhe
Nexa - Análise Avançada de Imagens e Texto com IA na AWSRecomendados para vocêNexa - Análise Avançada de Imagens e Texto com IA na AWS

O que são as Durable Functions na plataforma Azure?

    As Durable Functions são um recurso do Azure Functions que permite escrever funções com estado em um ambiente de computação sem servidor. A extensão permite definir fluxos de trabalho com estado pela escrita de funções de orquestrador e entidades com estado pela escrita de funções de entidade usando o modelo de programação do Azure Functions. Nos bastidores, a extensão gerencia o estado, os pontos de verificação e as reinicializações para você, permitindo que você se concentre na lógica de negócios.

    O Durable Functions foi projetado para trabalhar com todas as linguagens de programação do Azure Functions, mas pode ter requisitos mínimos diferentes para cada uma delas. A tabela a seguir mostra as configurações mínimas de aplicativo com suporte:

    • .NET/C#/F#
    • JavaScript/TypeScript 
    • Python
    • Java

    Assim como o Azure Functions, há modelos para ajudá-lo a desenvolver as Durable Functions usando o Visual Studio, o Visual Studio Code e o portal do Azure.

    Padrões de aplicativo

    O principal caso de uso das Durable Functions é simplificar requisitos complexos de coordenação com estado em aplicativos sem servidor. As seguintes seções descrevem padrões de aplicativo típicos que podem se beneficiar com as Durable Functions:

    • Encadeamento de funções
    • Fan-out/fan-in
    • APIs HTTP assíncronas
    • Monitoring
    • Interação humana
    • Agregador (entidades com estado)

    Padrão 1: encadeamento de funções

    No padrão de encadeamento de funções, uma sequência de funções é executada em uma ordem específica. Nesse padrão, a saída de uma função é aplicada à entrada de outra função. O uso de filas entre cada função garante que o sistema permaneça durável e escalonável, mesmo que haja um fluxo de controle de uma função para outra.

    image

    Um diagrama do padrão de encadeamento de funções

    Use as Durable Functions para implementar o padrão de encadeamento de funções de forma concisa, conforme mostrado no exemplo a seguir.

    Nesse exemplo, os valores F1, F2, F3 e F4 são os nomes de outras funções no mesmo aplicativo de funções. Implemente o fluxo de controle usando construtos de codificação imperativa normal. O código é executado de cima para baixo. Ele pode envolver a semântica do fluxo de controle da linguagem existente, como condicionais e loops. Você pode incluir a lógica de tratamento de erro em blocos try/catch/finally.

    const df = require("durable-functions");
    
    
    df.app.orchestration("chainingDemo", function* (context) {
      try {
          const x = yield context.df.callActivity("F1");
          const y = yield context.df.callActivity("F2", x);
          const z = yield context.df.callActivity("F3", y);
          return yield context.df.callActivity("F4", z);
      } catch (error) {
          // Error handling or compensation goes here.
      }
    });
    

    É possível usar o objeto context.df para invocar outras funções por nome, passar parâmetros e retornar a saída da função. Cada vez que o código chama yield, a estrutura das Durable Functions cria um ponto de verificação para o progresso da instância da função atual. Se o processo ou a máquina virtual for reciclada no meio da execução, a instância da função retomará na chamada yield anterior. Para obter mais informações, confira a próxima seção, Padrão nº2: Fan-out/fan-in.

    Fonte: https://learn.microsoft.com/pt-br/azure/azure-functions/durable/durable-functions-overview?tabs=in-process%2Cnodejs-v3%2Cv1-model&pivots=javascript

    Compartilhe
    Recomendados para você
    Microsoft Certification Challenge #3 DP-100
    Decola Tech 2025
    Microsoft AI for Tech - Copilot Studio
    Comentários (0)
    Recomendados para você