Todos os produtos
Search
Central de documentação

DataWorks:Nó do Function Compute

Última atualização: Aug 20, 2026

Use nós do Function Compute no DataWorks para executar código personalizado. Esses nós suportam agendamento periódico e são ideais para tarefas programadas. Você também pode combiná-los com outros tipos de nó no DataWorks para criar fluxos de trabalho completos de processamento de dados. Este tópico descreve como criar e usar um nó do Function Compute.

Pré-requisitos

  • O usuário RAM que você deseja usar deve estar adicionado ao seu workspace.

    Para desenvolver tarefas com um usuário RAM, adicione-o como membro do workspace e atribua a ele a função Develop ou Workspace Administrator. A função Workspace Administrator concede mais permissões do que o necessário; tenha cautela ao atribuí-la. Para mais informações sobre como adicionar membros e atribuir funções, consulte Add members to a workspace.

  • Um grupo de recursos serverless deve estar associado ao seu workspace. Para mais detalhes, consulte os tópicos no diretório Use serverless resource groups.

  • Crie um nó do Function Compute. Para instruções, consulte Create a node for a scheduling workflow.

Limitações

  • O DataWorks permite invocar apenas funções de evento. Não é possível invocar funções HTTP. Portanto, para agendar periodicamente uma função no DataWorks, crie uma função de evento capaz de processar solicitações de evento. Para saber mais sobre os tipos de função, consulte Select a function type.

  • Os nós do Function Compute estão disponíveis apenas em workspaces nas seguintes regiões: China (Hangzhou), China (Shanghai), China (Beijing), China (Zhangjiakou), China (Shenzhen), China (Hong Kong), Singapore, UK (London), US (Silicon Valley), US (Virginia), Germany (Frankfurt) e Australia (Sydney).

Observações de uso

  • Ao usar um nó do Function Compute, você invoca uma função de evento a partir de um service existente. Se a lista de services não estiver disponível, verifique as possíveis causas abaixo:

    • Sua conta possui pagamentos pendentes. Recarregue sua conta, atualize a página de configuração do nó e tente novamente.

    • O usuário atual não tem permissão para recuperar a lista de services. Entre em contato com o proprietário da sua conta Alibaba Cloud para conceder ao seu usuário RAM a permissão fc:ListServices ou anexar a política de sistema AliyunFCFullAccess. Após conceder as permissões, atualize a página de configuração do nó e tente novamente. Para mais informações sobre autorização, consulte Control product and console access by using RAM policies.

  • Se a execução de uma função em um nó do Function Compute no DataWorks ultrapassar uma hora, use a invocação assíncrona. Para detalhes sobre invocação assíncrona no Function Compute, consulte Feature overview.

  • Se você usar um usuário RAM para desenvolver um nó do Function Compute, conceda as permissões necessárias por meio de uma política de sistema ou personalizada.

    Tipo de política

    Descrição

    Política de sistema

    Ao usar uma system policy, conceda ao usuário as políticas AliyunFCFullAccess, AliyunFCReadOnlyAccess e AliyunFCInvocationAccess.

    Política personalizada

    Ao usar uma custom policy para o Function Compute, conceda as seguintes permissões comuns:

    • fc:GetAsyncTask

    • fc:StopAsyncTask

    • fc:GetService

    • fc:ListServices

    • fc:GetFunction

    • fc:InvokeFunction

    • fc:ListFunctions

    • fc:GetFunctionAsyncInvokeConfig

    • fc:ListServiceVersions

    • fc:ListAliases

    • fc:GetAlias

    • fc:ListFunctionAsyncInvokeConfigs

    • fc:GetStatefulAsyncInvocation

    • fc:StopStatefulAsyncInvocation

    Nota

    Para mais informações sobre as políticas de permissão do Function Compute, consulte os seguintes documentos:

Desenvolvimento do nó

  1. Após criar um nó do Function Compute, abra-o. Na aba de configuração do nó, selecione a função a ser invocada e defina o método de invocação e as variáveis.

    Parâmetro

    Descrição

    Select Version or Alias

    Selecione a versão ou o alias do service para a invocação da função. A versão padrão é LATEST.

    • Versão do service

      O controle de versão no nível de service do Function Compute permite publicar uma ou mais versões do seu service. Ao publicar uma versão, o Function Compute cria um snapshot do service, que inclui as configurações do service, além do código e das configurações das funções contidas nele, mas exclui os gatilhos. O sistema atribui automaticamente um número de versão ao snapshot para uso futuro. Para mais informações sobre publicação de versões, consulte Manage versions.

    • Alias da versão

      No Function Compute, é possível criar um alias para uma versão de service. Um alias aponta para uma versão específica e pode ser usado para implementar recursos como implantações, rollbacks e canary releases. Todo alias deve estar associado a um service e a uma versão. Quando você usa um alias para acessar um service ou função, o Function Compute resolve o alias para a versão correspondente, sem que o chamador precise conhecer a versão específica. Para mais informações sobre criação de aliases, consulte Manage aliases.

    Select Function

    Selecione a função a ser invocada. Se nenhuma função estiver disponível, crie uma. Para mais informações, consulte Manage functions.

    Nota

    O DataWorks suporta apenas a invocação de funções de evento. Não é possível invocar funções HTTP. Portanto, para agendar periodicamente uma função no DataWorks, crie uma função de evento para processar solicitações de evento. Para saber mais sobre os tipos de função, consulte Select a function type.

    Este exemplo usa a função para_service_01_by_time_triggers. Ao criar essa função, selecione o código de exemplo para triggering a function at a scheduled time. A lógica do código é a seguinte:

    import json
        import logging
    
        logger = logging.getLogger()
    
        def handler(event, context):
            logger.info('event: %s', event)
    
            # Parse the json
            evt = json.loads(event)
            triggerName = evt["triggerName"]
            triggerTime = evt["triggerTime"]
            payload = evt["payload"]
    
            logger.info('triggerName: %s', triggerName)
            logger.info("triggerTime: %s", triggerTime)
            logger.info("payload: %s", payload)
    
            return 'Timer Payload: ' + payload

    Para mais exemplos de código de funções, consulte Sample code.

    Invocation Method

    Você pode invocar a função das seguintes maneiras:

    • synchronous invocation: O evento aciona diretamente a função. O Function Compute executa a função e aguarda uma resposta. Após a invocação, o Function Compute retorna o resultado da execução.

    • asynchronous invocation: O Function Compute persiste a solicitação de evento e retorna uma resposta imediatamente, sem aguardar a conclusão da solicitação.

      • Use a invocação assíncrona para funções com lógica de longa duração, uso intensivo de recursos ou propensa a erros. Isso melhora a capacidade de resposta da aplicação e sua resiliência a picos de tráfego.

      • Use a invocação assíncrona para tarefas do Function Compute cuja execução prevista seja superior a uma hora.

    Variable

    Atribua valores às variáveis no código da sua função. Esta configuração corresponde ao conteúdo no painel , acessível navegando até Test Function>Configure Test Parameters na página de detalhes da função no console do Function Compute.

    Neste exemplo, os seguintes parâmetros são passados para a função para_service_01_by_time_triggers. A sintaxe ${} define uma variável chamada bizdate que requer atribuição de valor.

    {
            "payload": "payload1",
            "triggerTime": "${bizdate}",
            "triggerName": "triggerName1"
        }
  2. Ao concluir o desenvolvimento do nó do Function Compute, configure suas propriedades de agendamento para ative a execução periódica. Para mais informações, consulte Configure scheduling properties for a node.

Implantação e gerenciamento

  1. Após configurar as propriedades de agendamento, implante o nó do Function Compute no ambiente de produção. Para mais detalhes, consulte Deploy a node or workflow.

  2. Uma vez implantado, o nó é executado periodicamente conforme sua configuração de agendamento. Visualize o nó implantado e realize operações de O&M em Operation and Maintenance Center > Node O&M > Auto Triggered Task O&M > Auto Triggered Task. Para mais informações, consulte Get started with Operation Center.