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:
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.
Selecione a nova atividade do Azure Function na tela, se ainda não estiver selecionada, e sua guia Configurações , para editar seus detalhes.
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.
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 | Obrigatório |
---|---|---|
Type | 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: Trabalhar com chaves de acesso | 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 | Obrigatório |
---|---|---|---|
Nome | Nome da atividade no pipeline | Cadeia (de carateres) | Sim |
Type | 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 functionName
sem o detalhe de rota incluído resultará em uma falha porque o 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 é HttpTriggerCSharp
e a consulta que você deseja incluir é name=hello
, 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.
Conteúdos relacionados
Saiba mais sobre as atividades apoiadas em Pipelines e atividades.