Atividade do Azure Function no Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

A atividade do Azure Function permite executar o Azure Functions em um pipeline do Azure Data Factory ou Synapse. Para executar uma Função do Azure, você deve criar uma conexão de serviço vinculado. Em seguida, você pode usar o serviço vinculado com uma atividade que especifica a Função do Azure que você planeja executar.

Criar uma atividade do Azure Function com a interface do usuário

Para usar uma atividade do Azure Function em um pipeline, conclua as seguintes etapas:

  1. Expanda a seção Função do Azure do painel Atividades do pipeline e arraste uma atividade da Função do Azure para a tela do pipeline.

  2. Selecione a nova atividade do Azure Function na tela, se ainda não estiver selecionada, e sua guia Configurações para editar seus detalhes.

    Shows the UI for an Azure Function activity.

  3. Se você ainda não tiver um serviço vinculado do Azure Function definido, selecione Novo para criar um novo. No novo painel de serviço vinculado do Azure Function, escolha a url existente do Aplicativo de Função do Azure e forneça uma Chave de Função.

    Shows the new Azure Function linked service creation pane.

  4. Depois de selecionar o serviço vinculado da Função do Azure, forneça o nome da função e outros detalhes para concluir a configuração.

Serviço vinculado do Azure Function

O tipo de retorno da função do Azure deve ser um arquivo JObject. (Tenha em mente que JArray não é um JObject.) Qualquer tipo de retorno diferente de JObject falha e gera o erro do usuário Conteúdo de resposta não é um JObject válido.

A Tecla de Função fornece acesso seguro ao nome da função, com cada uma com chaves exclusivas separadas ou chave mestra dentro de um aplicativo de função. A identidade gerenciada fornece acesso seguro a todo o aplicativo de função. O usuário precisa fornecer a chave para acessar o nome da função. Para obter mais informações, consulte a documentação da função para obter mais detalhes sobre a tecla de acesso da função

Propriedade Descrição Necessário
Tipo A propriedade type deve ser definida como: AzureFunction Sim
URL do aplicativo de função URL para o aplicativo Azure Function. O formato é https://<accountname>.azurewebsites.net. Essa URL é o valor na seção URL ao exibir seu Aplicativo de Função no portal do Azure Sim
Tecla de função Chave de acesso para a Função do Azure. Clique na seção Gerenciar para a respetiva função e copie a tecla de função ou a chave de host. Saiba mais aqui: Gatilhos e associações HTTP do Azure Functions Sim
Autenticação O método de autenticação usado para chamar a Função do Azure. Os valores suportados são 'Identidade gerenciada atribuída ao sistema' ou 'anônimo'. Sim
ID do Recurso A ID do aplicativo (cliente) da Função do Azure. Mude para a secção Autenticação para a respetiva função e obtenha o ID da Aplicação (cliente) em Fornecedor de identidade. Essa propriedade será exibida quando você usar a identidade gerenciada atribuída ao sistema. Para obter mais informações, consulte Configurar o Serviço de Aplicativo ou o aplicativo Azure Functions para usar o logon do Microsoft Entra. Não

Nota

Ao usar a autenticação anônima, certifique-se de ter removido sua identidade no lado da Função do Azure.

Atividade do Azure Function

Propriedade Descrição Valores permitidos Necessário
Nome Nome da atividade no pipeline Cadeia (de carateres) Sim
Tipo O tipo de atividade é 'AzureFunctionActivity' Cadeia (de carateres) Sim
Serviço ligado O serviço vinculado do Azure Function para o Aplicativo de Função do Azure correspondente Referência de serviço vinculado Sim
Nome da função Nome da função no Aplicativo de Função do Azure que essa atividade chama Cadeia (de carateres) Sim
Método Método de API REST para a chamada de função String Tipos suportados: "GET", "POST", "PUT" Sim
Cabeçalho Cabeçalhos que são enviados para a solicitação. Por exemplo, para definir o idioma e digitar em uma solicitação: "headers": { "Accept-Language": "en-us", "Content-Type": "application/json" } String (ou expressão com resultType de string) Não
Corpo Corpo que é enviado junto com a solicitação para o método function api String (ou expressão com resultType de string) ou objeto. Necessário para os métodos PUT/POST

Consulte o esquema da carga útil da solicitação na seção Esquema da carga útil da solicitação.

Roteamento e consultas

A Atividade da Função do Azure dá suporte ao roteamento. Por exemplo, se a sua Função do Azure tiver o ponto de extremidade https://functionAPP.azurewebsites.net/api/<functionName>/<value>?code=<secret>, então o functionName a ser usado na Atividade da Função do Azure será <functionName>/<value>. Você pode parametrizar essa função para fornecer o tempo de execução desejado functionName .

Nota

O functionName para Durable Functions deve ser retirado da propriedade route da vinculação da função em sua definição JSON, para incluir suas informações de roteamento. Simplesmente usar o sem o detalhe de rota incluído resultará em uma falha porque o functionName aplicativo de função não pode ser encontrado.

A Atividade de Função do Azure também dá suporte a consultas. Uma consulta deve ser incluída como parte do functionName. Por exemplo, quando o nome da função é e a consulta que você deseja incluir é name=helloHttpTriggerCSharp , então você pode construir o functionName na Atividade de Função do Azure como HttpTriggerCSharp?name=hello. Esta função pode ser parametrizada para que o valor possa ser determinado em tempo de execução.

Funções de tempo limite e de longa duração

O Azure Functions expira após 230 segundos, functionTimeout independentemente da configuração que você definiu nas configurações. Para mais informações, consulte este artigo. Para contornar esse comportamento, siga um padrão assíncrono ou use funções duráveis. O benefício das Funções Duráveis é que elas oferecem seu próprio mecanismo de rastreamento de estado, para que você não precise implementar seu próprio rastreamento de estado.

Saiba mais sobre funções duráveis neste artigo. Você pode configurar uma Atividade de Função do Azure para chamar a Função Durável, que retornará uma resposta com um URI diferente, como este exemplo. Como statusQueryGetUri retorna o status HTTP 202 enquanto a função está em execução, você pode sondar o status da função usando uma atividade da Web. Configure uma Atividade da Web com o url campo definido como @activity('<AzureFunctionActivityName>').output.statusQueryGetUri. Quando a função durável for concluída, a saída da função será a saída da atividade da Web.

Exemplo

Você pode encontrar um exemplo que usa uma Função do Azure para extrair o conteúdo de um arquivo tar aqui.

Saiba mais sobre as atividades apoiadas em Pipelines e atividades.