Compartilhar via


Criar um item de funções de dados do usuário do Fabric

Neste guia, criaremos um novo item do User Data Functions e escreveremos novas funções nele. Cada item do User Data Functions contém código que define uma ou muitas funções que você pode executar individualmente.

Especificamente, você aprenderá como:

  • Criar um item de funções de dados do usuário.
  • Escreva uma nova função.
  • Gerenciar funções.
  • Execute sua função.

Pré-requisitos

Criar um novo item de funções de dados do usuário do Fabric

  1. Selecione seu workspace e selecione em + Novo item.
  2. Selecione o tipo de item como Todos os itens. Pesquise e selecione funções de dados do usuário.

Criar um novo item de funções de dados do usuário

  1. No workspace, selecione + Novo item.

  2. No painel que é aberto, pesquise user data functions e selecione o bloco.

    Captura de tela mostrando o bloco de funções de dados do usuário no novo painel de itens.

  3. Forneça um Nome para o item de funções de dados do usuário.

  4. Selecione Nova função para criar um modelo de função do Python hello_fabric. O Gerenciador de Funções mostra todas as funções que são publicadas e prontas para serem invocadas.

    Captura de tela mostrando como criar uma nova função usando um modelo.

  5. Depois que a função hello_fabric for publicada, você poderá executá-la na lista de funções no Gerenciador de Funções.

    Captura de tela mostrando o código para a função hello-fabric.

Adicionar uma nova função de exemplo

Este é um exemplo de como adicionar uma nova função no menu Insert sample. Nesse caso, adicionaremos uma função chamada Manipular dados com a biblioteca pandas que usa a biblioteca pandas como um requisito. Siga as etapas para adicionar esta função de exemplo:

  1. Verifique se você está no modo Desenvolver. Selecione Gerenciamento de bibliotecas para adicionar as bibliotecas necessárias para sua função.

    Captura de tela mostrando como gerenciar bibliotecas.

    Observação

    A biblioteca fabric_user_data_functions é adicionada por padrão e não pode ser removida. Essa biblioteca é necessária para a funcionalidade das funções de dados do usuário. Você precisa atualizar a versão desta biblioteca para versões futuras deste SDK.

  2. Selecione a biblioteca pandas e selecione a versão. Depois que a biblioteca é adicionada, ela é salva automaticamente no item Funções de Dados do Usuário.

    Captura de tela mostrando como adicionar a biblioteca pandas.

  3. Selecione Inserir exemplo e selecione Manipular dados com a biblioteca pandas. Essa ação inserirá o código de exemplo na parte inferior do código, após as outras funções.

    Captura de tela mostrando como inserir um exemplo que usa a biblioteca pandas.

  4. Depois que o exemplo for inserido no editor, você o testará usando a funcionalidade De teste no modo Desenvolver.

  5. Quando estiver pronto, você poderá selecionar Publicar para salvar suas alterações e atualizar suas funções. A publicação pode levar alguns minutos.

    Captura de tela mostrando o snippet de código do exemplo no editor.

  6. Depois que a publicação for concluída, você verá a nova função na lista do Gerenciador de Funções. Essa função agora está pronta para ser executada no portal ou invocada de outro aplicativo ou item do Fabric, como um pipeline.

    Captura de tela mostrando o snippet de código do exemplo no editor.

Executar sua função

  1. Para executar sua função, primeiro você precisa alternar para o modo Executar somente clicando no comutador de modo.

    Captura de tela animada mostrando como alternar para o modo Somente Execução.

  2. Selecione o ícone Executar que aparece quando você passa o mouse sobre uma função na lista do Gerenciador de Funções.

    Captura de tela mostrando como executar as funções.

  3. Passe os parâmetros necessários apresentados como um formulário no Gerenciador de Funções. Nesse caso, executaremos a função manipulate_data que requer uma cadeia de caracteres JSON como parâmetro.

    [
     {
      "Name": "John",
      "Age": 22,
      "Gender": "male"
     }
    ]
    
  4. Selecione executar para executar a função.

    Captura de tela mostrando a saída quando uma função é executada com êxito.

  5. Você pode ver os logs dinâmicos e a saída da função para validar se ela foi executada com êxito. Como alternativa, você verá uma mensagem de erro e logs da invocação de função.

Gravar uma nova função

Cada função executável começa com um decorador @udf.function() antes da definição da função. Leia mais sobre nosso modelo de Programação do Python. Para gravar uma nova função, use o decorador @udf.function() no início para declará-la como uma função executável. Aqui está uma função de exemplo:

# This sample allows you to pass a credit card number as an integer and mask it, leaving the last 4 digits. 

@udf.function()
def maskCreditCard(cardNumber: int)-> str:
    # Convert the card number to a string
    cardNumberStr = str(cardNumber)
    
    # Check if the card number is valid
    if not cardNumberStr.isdigit() or not (13 <= len(cardNumberStr) <= 19):
        raise ValueError("Invalid credit card number")
    
    # Mask all but the last four digits
    maskedNumber = '*' * (len(cardNumberStr) - 4) + cardNumberStr[-4:]
    
    return str(maskedNumber)

Depois que a função estiver pronta, publique a função para executá-la.

Conceitos principais do modelo de programação

Suas Funções de Dados do Usuário usam o modelo de Programação Python das Funções de Dados do Usuário para criar, executar, depurar e modificar funções individuais. Essa é uma biblioteca de primeira parte que fornece a funcionalidade necessária para invocar suas funções no Fabric e aproveitar todas as integrações.

Depois de criar sua primeira função, as primeiras linhas do código conterão as instruções de importação com as bibliotecas necessárias para executar seu modelo.

import datetime
import fabric.functions as fn
import logging

udf = fn.UserDataFunctions()

Observação

A instrução de importação que contém a biblioteca fabric.functions e a linha que contém essa instrução udf = fn.UserDataFunctions() são necessárias para executar suas funções corretamente. Suas funções não funcionarão corretamente se essas linhas estiverem ausentes.

  • Para criar, executar, gerenciar funções, você precisa do SDK fabric.functions e de algumas outras bibliotecas importantes, como logging permite que você escreva logs personalizados.
  • udf=fn.UserDataFunctions() é o constructo para definir funções dentro de um item de funções de dados do usuário.

Gerenciar funções de dados

Renomear uma função

  1. No modo Desenvolver, selecione no editor de código e atualize o nome da função. Por exemplo, renomeie hello_fabric para hello_fabric1:

    @udf.function()
    def hello_fabric1(name: str) -> str:
       logging.info('Python UDF trigger function processed a request.')
    
       return f"Welcome to Fabric Functions, {name}, at {datetime.datetime.now()}!"
    
  2. Depois de alterar o nome, selecione Publicar para salvar essas alterações.

  3. Depois que as alterações forem publicadas, você poderá exibir o novo nome da função no Gerenciador de Funções.

Excluir uma função

Para excluir uma função, selecione o código de função no editor de código e remova toda a seção de código. Publique as alterações para excluí-las inteiramente do item de funções de dados do usuário.

Por exemplo, para excluir a função hello_fabric, remova o seguinte bloco de código:

@udf.function()
def hello_fabric(name: str) -> str:
    logging.info('Python UDF trigger function processed a request.')

    return f"Welcome to Fabric Functions, {name}, at {datetime.datetime.now()}!"

Depois que o código for removido, você poderá selecionar Publicar para salvar suas alterações. Depois que a publicação for concluída, você verá uma lista atualizada de funções disponíveis no Gerenciador de Funções.

Próximas etapas