Todos os produtos
Search
Central de documentação

DataWorks:Adicione marcas d'água a PDFs com o Function Compute

Última atualização: Aug 25, 2026

Este tópico descreve como usar um nó do Function Compute no DataWorks para invocar o Function Compute e adicionar marcas d'água periodicamente a arquivos PDF incrementais no OSS.

Contexto

O DataWorks utiliza um nó do Function Compute para invocar o service. Isso permite executar lógicas personalizadas como parte de um fluxo de trabalho do DataWorks.

Pré-requisitos

  • O Function Compute está ativado. Para mais informações, consulte Quickly create a function.

  • O OSS está ativado. Para mais informações, consulte Activate OSS. Crie um bucket e faça upload dos arquivos PDF aos quais deseja adicionar marca d'água. Neste exemplo, crie um diretório chamado 2023-08-15 no bucket bucket-test222 e envie o arquivo example.pdf para esse diretório.

Limitações

  • Limitações de recursos

    O DataWorks suporta a invocação apenas de funções de evento, e não de funções HTTP. Portanto, utilize uma função de evento para tarefas que precisam ser agendadas periodicamente. Para mais detalhes sobre os tipos de função, consulte Function types.

  • Limitações de região

    O recurso Function Compute está disponível somente em workspaces localizados nas seguintes regiões: China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Chengdu), China (Hong Kong), Singapore, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Germany (Frankfurt), UK (London), US (Silicon Valley) e US (Virginia).

Etapa 1: Criar um aplicativo do Function Compute

  1. Faça login no console do Function Compute. No painel de navegação à esquerda, clique em Application.

  2. Na página Applications, clique em Create Application e selecione Use a Template to Create an Application. Na caixa de pesquisa, busque por "add watermark to PDF files". Na lista de modelos, localize o modelo pdf-watermark, passe o ponteiro do mouse sobre o cartão correspondente e clique em Create Now.

    Nota

    O código-fonte do aplicativo pdf-watermark está disponível no GitHub. Este aplicativo adiciona uma marca d'água especificada a um arquivo PDF no OSS e salva o arquivo com a marca em um novo arquivo no mesmo local do OSS.

  3. Configure os parâmetros para Create Application.

    Parâmetro

    Descrição

    Tipo de implantação

    Selecione Directly Deploy.

    Application Name

    Um nome compatível é gerado automaticamente. Altere-o conforme as necessidades do seu negócio.

    Role name

    Por padrão, AliyunFCServerlessDevsRole vem selecionado. Configure as políticas dessa função conforme necessário.

    • Ao implantar um aplicativo pelo Serverless App Center, pode ser necessário acessar outros services de cloud. Por exemplo, talvez você precise implantar services e recursos de função do Function Compute, ou criar e atualizar recursos de VPC, NAS e SLS. Nesses casos, conceda ao Function Compute as permissões de acesso necessárias. Primeiro, associe uma função de service RAM ao aplicativo ou ambiente e defina o service confiável como Function Compute. O Serverless App Center usa AssumeRole para acessar seus services de cloud.

    • Para simplificar a autorização, o Serverless App Center fornece uma função de sistema padrão chamada AliyunFCServerlessDevsRole. Essa função contém as permissões que o Serverless App Center precisa para acessar alguns recursos da cloud. Acesse o console de gerenciamento de funções RAM para visualizar as permissões da função AliyunFCServerlessDevsRole.

    Region

    Região onde o aplicativo será criado. Ao selecionar um OSS bucket name, escolha apenas um bucket do OSS nesta mesma região.

    Function Name

    Um nome compatível é gerado automaticamente. Modifique-o de acordo com as necessidades do seu negócio.

    Time Zone

    O fuso horário da região atual é selecionado automaticamente. Ajuste-o conforme as necessidades do seu negócio.

    OSS bucket name

    Selecione apenas um bucket que esteja na mesma região do aplicativo.

    RAM role ARN

    Por padrão, AliyunFcDefaultRole vem selecionado. Altere-o se necessário.

    Para simplificar a autorização, o Function Compute fornece uma função de service padrão chamada AliyunFcDefaultRole. Essa função contém as permissões que o Function Compute precisa para acessar certos recursos da cloud. Para saber como criar e vincular a função padrão AliyunFcDefaultRole, consulte Step 1: Activate Function Compute.

    Nota

    Se aparecer uma mensagem informando que o aplicativo selecionado requer permissões adicionais durante a criação, clique em Authorized to go.

  4. Clique em Create and Deploy Default Environment. Quando Deployed for exibido na página de detalhes, a implantação estará concluída.

  5. Na página Applications, clique no nome do aplicativo para acessar a página de detalhes do aplicativo.

  6. Na seção Default Environment, clique na aba Environment Details e, em seguida, clique no nome da Function para ir à página de detalhes da Function.

    O nome da função encontra-se na seção Function Resources, dentro da área Resource Information na parte inferior da página; por exemplo, pdf_add_watermark_t36b.

  7. Clique em Test, insira os parâmetros e teste a função.

    • Event name: Insira um nome para o evento.

    • Event content: Insira o conteúdo no formato JSON. Este tópico utiliza o seguinte exemplo:

      Importante

      Ao copiar o exemplo JSON abaixo, remova os comentários que começam com //. Caso contrário, a validação do JSON falhará.

      // The following configuration adds the watermark text "DataWorks" to the PDF file 2023-08-15/example.pdf by using the 20-point Helvetica font. For the meaning of each parameter, see the comments that follow.
      {
          "pdf_file": "2023-08-15/example.pdf",  // The path of the PDF file in the OSS bucket.
          "mark_text": "DataWorks",    // The watermark text. This parameter is required if you want to add a watermark to a PDF file.
          "pagesize": [595.275590551181, 841.8897637795275], // Optional. The default page size is A4 (21 cm × 29.7 cm), where 1 cm is equal to 28.346456692913385.
          "font": "Helvetica",     // Optional. The default font is Helvetica. For Chinese text, you can use zenhei or microhei.
          "font_size": 20,         // Optional. The default font size is 30.
          "font_color": [0, 0, 0], // The font color in RGB format. The default color is black.
          "rotate": 30,            // Optional. The default rotation angle is 0.
          "opacity": 0.1,          // Optional. The default opacity is 0.1. A value of 1 indicates that the text is opaque.
          "density": [198.4251968503937, 283.46456692913387] // The watermark density. The default value is [141.73228346456693, 141.73228346456693], which corresponds to (7 cm, 10 cm). This means the interval between watermarks is 7 cm on the x-axis and 10 cm on the y-axis.
      }
  • Clique em Test Function. Após a execução bem-sucedida, visualize o arquivo PDF com marca d'água no mesmo diretório do OSS onde está o arquivo de source. Neste exemplo, o arquivo de saída é example-out.pdf.

    Visualize os arquivos no OSS:

    A lista de arquivos do bucket OSS contém o arquivo de source example.pdf e o arquivo gerado com marca d'água example_out.pdf.

Etapa 2: Configurar um nó do Function Compute

  1. Faça login no console do DataWorks.

  2. Na barra de navegação superior, mude para a região especificada na Etapa 1: Criar um aplicativo do Function Compute.

  3. No painel de navegação à esquerda, escolha Data Development and O&M > Data Studio. Selecione seu workspace para acessar a página Data Development.

  4. Clique no nome do Workflow desejado. No nó General expandido, clique com o botão direito e selecione Function Compute. Na caixa de diálogo exibida, insira um nome para o nó e clique em Determine para criar o nó do Function Compute.

  5. Configure os parâmetros do nó do Function Compute.

    Parâmetro

    Descrição

    Select Function

    Selecione a função criada na Etapa 1. Para criar uma nova função, consulte Manage functions.

    Nota

    O DataWorks suporta a invocação apenas de funções de evento, e não de funções HTTP. Portanto, utilize uma função de evento para tarefas que precisam ser agendadas periodicamente. Para mais detalhes sobre os tipos de função, consulte Function types.

    Select Version or Alias

    Escolha a versão ou alias do service a ser usado na invocação da função. A versão padrão é LATEST. Neste exemplo, selecione Default Version.

    • Versão do service

      O Function Compute oferece um recurso de versionamento no nível do service que permite publicar uma ou mais versões dele. Ao publicar uma versão, o Function Compute cria um snapshot do service, incluindo sua configuração, código da função e configurações da função. Os gatilhos não são incluídos. Em seguida, o Function Compute atribui automaticamente um número de versão ao snapshot para uso futuro. Para mais informações, consulte Publish a version.

    • Alias da versão

      O Function Compute permite criar um alias para uma versão do service. Um alias aponta para uma versão específica, facilitando operações como publicação, rollbacks e lançamentos canário. Um alias não pode existir independentemente de um service ou versão. Ao usar um alias para acessar um service ou função, o Function Compute resolve o alias para a versão correspondente. O chamador não precisa conhecer a versão específica. Para mais informações, consulte Create an alias.

    Invocation Method

    Selecione and synchronizes para este exemplo. Para mais informações, consulte synchronous invocation e asynchronous invocation.

    • 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 coloca a solicitação de evento na fila e retorna uma resposta imediatamente, sem esperar a conclusão da solicitação.

      • Se uma função for demorada, consumir muitos recursos ou contiver lógica propensa a erros, utilize a invocação assíncrona para melhorar a velocidade de resposta e lidar com picos de tráfego de forma confiável.

      • Para tarefas do Function Compute com duração superior a uma hora, utilize a invocação assíncrona.

    Variable

    Estes são os parâmetros para invocar a função. Este exemplo modifica o JSON da seção Event content para adicionar marcas d'água a novos arquivos PDF no OSS diariamente.

    // The following configuration adds a watermark to the PDF file at ${current_date}/example.pdf.
    {
        "pdf_file": "${current_date}/example.pdf",  // The path of the PDF file in the OSS bucket.
        "mark_text": "DataWorks",    // The watermark text. This parameter is required if you want to add a watermark to a PDF file.
        "pagesize": [595.275590551181, 841.8897637795275], // Optional. The default page size is A4 (21 cm × 29.7 cm), where 1 cm is equal to 28.346456692913385.
        "font": "Helvetica",     // Optional. The default font is Helvetica. For Chinese text, you can use zenhei or microhei.
        "font_size": 20,         // Optional. The default font size is 30.
        "font_color": [0, 0, 0], // The font color in RGB format. The default color is black.
        "rotate": 30,            // Optional. The default rotation angle is 0.
        "opacity": 0.1,          // Optional. The default opacity is 0.1. A value of 1 indicates that the text is opaque.
        "density": [198.4251968503937, 283.46456692913387] // The watermark density. The default value is [141.73228346456693, 141.73228346456693], which corresponds to (7 cm, 10 cm). This means the interval between watermarks is 7 cm on the x-axis and 10 cm on the y-axis.
    }
    Nota
    • No valor de pdf_file, que é ${current_date}/example.pdf, ${current_date} representa uma variável chamada current_date.

    • Quando o DataWorks agenda uma tarefa, ele substitui ${current_date} pelo valor real. Configure essa variável nos parâmetros de agendamento. Por exemplo, pdf_file será 2023-08-15/example.pdf quando a tarefa for executada em 15 de agosto de 2023, e pdf_file será 2023-08-16/example.pdf quando executada em 16 de agosto de 2023.

    • Seu sistema de negócios precisa apenas gerar os arquivos PDF no caminho correspondente antes da execução da tarefa agendada. Isso permite adicionar marcas d'água dinamicamente a novos arquivos PDF todos os dias.

    • Antes de executar a tarefa, envie um arquivo PDF correspondente ao caminho ${current_date}/example.pdf para o OSS. Por exemplo, 2023-08-15/example.pdf.

  6. Opcional: Depure o nó do Function Compute. Após configurar o nó, clique no ícone 运行, especifique um grupo de recursos para a tarefa e atribua uma constante à variável de código para depuração. Isso testa se a lógica de código do nó está correta. Por exemplo, definir current_date=2023-08-15 faz com que o Function Compute adicione uma marca d'água ao arquivo 2023-08-15/example.pdf no OSS.

  7. Configure as propriedades de agendamento periódico do nó. O DataWorks fornece parâmetros de agendamento para permitir a passagem dinâmica de parâmetros em cenários de agendamento. Abra o painel Scheduling à direita e defina os parâmetros na seção Parameter. Este exemplo adiciona um parâmetro chamado current_date com o valor $[yyyy-mm-dd], que representa o ano, mês e dia atuais no momento da execução da tarefa. Para mais informações sobre parâmetros de agendamento, consulte Supported formats for scheduling parameters. Para mais detalhes sobre propriedades de agendamento, consulte Task scheduling properties overview.

Etapa 3: Confirmar e implantar o nó

Para executar um nó do Function Compute em um agendamento automático, confirme-o e implante-o no ambiente de produção.

  1. Salve e confirme o nó.

    Clique nos ícones 保存 e 提交 na barra de ferramentas para salvar e confirmar o nó. Na caixa de diálogo de confirmação, insira uma descrição da alteração e, se necessário, selecione as opções para revisão de código e teste de fumaça.

    Nota
    • Configure a propriedade Rerun attribute e os Parent Nodes nas propriedades de agendamento antes de confirmar o nó.

    • Se a revisão de código estiver ativada, o código de um nó confirmado deve ser aprovado por um revisor antes da implantação. Para mais informações, consulte Code review.

    • Para garantir que o nó agendado funcione conforme esperado, recomendamos realizar testes de fumaça na tarefa antes de implantá-la. Para mais informações, consulte Smoke testing.

  2. Opcional. Implante o nó.

    Se estiver usando um workspace no modo padrão, clique em Deploy no canto superior direito para implantar o nó após confirmá-lo. Para mais informações, consulte Workspaces in standard mode e Deploy tasks.

Próximas etapas

  • Após a confirmação e implantação da tarefa, ela é agendada pelo Operation Center. Gerencie e monitore a tarefa no Operation Center do DataWorks. Para mais informações, consulte Operation Center.

  • Depois de dominar as etapas básicas para criar e usar um nó do Function Compute, explore as melhores práticas para obter um entendimento mais profundo do nó. Para mais informações, consulte Dynamically add watermarks to PDFs by using a Function Compute node in DataWorks.

Documentos relacionados