帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 函数计算 FC 2.0
  4. 操作指南
  5. 事件触发
  6. DataWorks大数据开发治理平台

DataWorks大数据开发治理平台

  • 事件触发
  • 发布于 2025-04-16
  • 0 次阅读
文档编辑
文档编辑

DataWorks为您提供函数计算节点,允许您通过自定义代码实现不同业务需求。函数计算节点支持周期性调度,便于执行定时任务。同时,该节点能够与DataWorks其他类型节点配合使用,帮助您构建完整的数据处理流程。本文将为您介绍如何创建并使用函数计算节点。

背景信息

DataWorks基于MaxCompute、Hologres、EMR、AnalyticDB、CDP等大数据引擎,为数据仓库、数据湖、湖仓一体等解决方案提供统一的全链路大数据开发治理平台。DataWorks数据开发(DataStudio)模块用于定义周期调度任务的开发及调度属性,与运维中心配合使用,面向各引擎(MaxCompute、Hologres、EMR等)提供可视化开发主界面,支持智能代码开发、多引擎混编工作流、规范化任务发布等能力,帮助您轻松构建离线数仓、实时数仓与即席分析系统,保证数据生产的高效稳定。

DataWorks的数据开发(DataStudio)可通过调用函数计算的事件函数来处理请求事件,通过配置节点的周期调度属性,发布到生产环境后,就可实现自动调度。

前提条件

  • DataWorks服务

    • 开通DataWorks服务

    • 创建工作空间

    • 为工作空间绑定引擎

  • 函数计算

    • 创建服务

    • 创建函数

使用限制

  • 功能限制

    DataWorks目前仅支持调用事件函数,不支持调用HTTP函数。因此,若要在DataWorks周期性调度处理事件函数,则在创建函数时,需要创建用于处理事件请求的事件函数。更多函数类型介绍,详情请参见函数类型。

  • 地域限制

    DataWorks目前仅支持华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华南1(深圳)、中国香港、新加坡、英国(伦敦)、美国(硅谷)、美国(弗吉尼亚)、德国(法兰克福)地域的工作空间使用函数计算功能。

注意事项

  • 使用函数计算节点时,需基于已创建的服务调用待执行事件函数。选择服务时,若无法获取已创建的服务列表,则可能原因如下:

    • 当前账号欠费:请充值后刷新节点配置页面重新尝试。

    • 当前登录用户没有获取服务列表的权限:请联系阿里云主账号为您添加fc:ListServices权限,或直接赋予您 AliyunFCFullAccess权限,授权后请刷新节点配置页面重新尝试。授权操作,请参见为RAM用户授权。

  • 使用DataWorks的函数计算节点运行函数时,若运行时长超过1小时,请将DataWorks函数计算节点的调用方式配置为异步调用。函数计算异步调用的介绍,请参考异步调用。

  • 若使用RAM用户(即子账号)进行函数计算节点开发,则需为该用户添加如下系统策略或自定义策略权限。

    策略类型

    策略描述

    相关参考

    系统策略

    使用系统策略时,需授权用户AliyunFCFullAccess,或AliyunFCReadOnlyAccess及AliyunFCInvocationAccess权限策略。

    系统策略

    自定义策略

    使用自定义策略时,需授权用户如下所有权限策略。

    • fc:GetService

    • fc:ListServices

    • fc:GetFunction

    • fc:InvokeFunction

    • fc:ListFunctions

    • fc:GetFunctionAsyncInvokeConfig

    • fc:ListServiceVersions

    • fc:ListAliases

    • fc:GetAlias

    • fc:ListFunctionAsyncInvokeConfigs

    • fc:GetStatefulAsyncInvocation

    • fc:StopStatefulAsyncInvocation

    自定义策略

步骤一:进入节点创建入口

  1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据开发,在下拉框中选择对应工作空间后单击进入数据开发。

  2. 进入节点创建入口。

    在数据开发(DataStudio)界面,您可通过如下方式创建函数计算节点。函数计算节点创建入口

步骤二:创建并配置函数计算节点

  1. 创建函数计算节点。

    进入节点创建入口后,根据界面提示,配置新建节点的路径、名称等基本信息,创建节点。

  2. 配置函数计算节点参数。

    在节点编辑页面,根据业务需求,选择执行本次任务需调用的函数并配置其运行方式及变量详情。配置节点参数

    参数

    描述

    选择服务

    用于为函数提供相关运行资源。同一服务下的所有函数共享一些相同的设置,例如,服务授权和日志配置等。如果没有可用服务,则需新建,详情请参见创建服务。

    选择版本或别名

    选择后续调用函数时所使用的服务版本或别名。默认版本为 LATEST。

    • 服务版本

      函数计算提供服务级别的版本控制功能,支持您为自己的服务发布一个或多个版本。当发布版本时,函数计算会为服务生成快照,包括服务的配置、服务内的函数代码及函数配置,但不包括触发器,并自动分配一个版本号与其关联,以供后续使用。发布版本,详情请参见发布版本。

    • 版本别名

      函数计算支持为服务的版本创建别名。别名用于指向特定版本,您可利用别名轻松实现发布、回滚以及灰度发布等功能。别名无法脱离服务或版本单独存在。使用别名访问服务或函数时,函数计算会将别名解析为其指向的版本,调用方无需了解别名指向的具体版本。创建别名,详情请参见创建别名。

    选择函数

    选择此次任务执行所需调用的函数。如果没有可用函数,则需新建,详情请参见创建函数。

    说明

    DataWorks目前仅支持调用事件函数,不支持调用HTTP函数。因此,若要在DataWorks周期性调度处理事件函数,则在创建函数时,需要创建用于处理事件请求的事件函数。更多函数类型介绍,详情请参见函数类型。

    示例选择para_service_01_by_time_triggers函数。创建该函数时,选择平台提供的定时触发函数的示例代码。代码逻辑如下。

    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

    更多函数的示例代码,请参见示例代码。

    调用方式

    支持使用如下方式调用函数:

    • 同步调用:该方式事件将直接触发函数,函数计算会运行该函数并等待响应,当函数调用完成后,函数计算直接返回执行结果。

    • 异步调用:该方式函数计算会将事件请求先持久化后再立即返回响应,而不是等待请求执行完成后才返回响应。

      • 若函数存在耗时较长、资源消耗较大或易错逻辑,可采用异步调用,提升程序响应速度,更加可靠地应对突发流量。

      • 运行时长超过1小时的函数计算任务,请使用异步调用。

    变量

    基于实际应用,对函数中的变量进行赋值。该变量与函数计算产品中,目标函数详情页的测试函数 > 配置测试事件内容对应。

    示例对para_service_01_by_time_triggers函数的相关变量传入如下参数。参数中,使用${}格式定义了名为bizdate的变量,该变量需在步骤4中赋值。

    {
        "payload": "payload1",
        "triggerTime": "${bizdate}",
        "triggerName": "triggerName1"
    }
  3. 可选:调试运行函数计算节点。

    函数计算节点配置完成后,您可单击运行图标,指定任务运行的资源组并为代码变量赋值常量进行调试运行,测试节点代码逻辑是否正确。运行时,参数配置格式为key=value,输入多个参数时,需使用逗号(,)分隔。

    说明

    更多任务调试运行详情,请参见调试运行任务。

  4. 配置节点的周期调度属性。

    DataWorks提供的调度参数,可实现调度场景下代码动态传参。在节点编辑页面定义函数变量后,需进入调度配置中为变量赋值。本文示例为变量bizdate赋值为前一天,即在函数计算节点定时运行时间的前一天,DataWorks会调度运行该节点。更多调度参数的配置,详情请参见配置调度参数。配置节点周期性调度节点的更多调度属性,详情请参见任务调度属性配置概述。

步骤三:提交并发布节点

函数计算节点需要提交发布至生产环境后,才会自动调度运行。

  1. 保存并提交节点。

    单击工具栏中的保存、提交图标,保存并提交节点。提交节点时,请根据提示输入变更描述,并根据需要选择是否进行代码评审及冒烟测试。

    说明
    • 您需在调度配置中设置节点的重跑属性和依赖的上游节点,才可以提交节点。

    • 开启代码评审后,开发人员提交的节点代码必须通过评审人员的审核才可发布,详情请参见代码评审。

    • 为保障调度节点任务执行符合预期,建议您在发布前对任务进行冒烟测试,详情请参见冒烟测试。

  2. 可选:发布节点。

    如果您使用的是标准模式的工作空间,提交成功后,需单击右上方的发布,发布节点。相关介绍请参见标准模式的工作空间、发布任务。

后续步骤

  • 任务提交发布至生产运维中心调度后,您可通过DataWorks的运维中心进行相关运维操作,详情请参见运维中心。

  • 在掌握如何创建和使用函数计算节点的基本步骤之后,您可通过最佳实践进一步深入了解该节点,详情请参见在DataWorks中通过函数计算节点实现动态为PDF添加水印。

相关文章

触发器简介 2025-04-16 14:22

触发器是触发函数执行的方式。在事件驱动的计算模型中,事件源是事件的生产者,函数是事件的处理者,而触发器提供了一种集中、统一的方式来管理不同的事件源。在事件源中,当事件发生时,如果满足触发器定义的规则,事件源会自动调用触发器关联的函数。

触发器管理 2025-04-16 14:22

您可以在指定函数中创建触发器,使用触发器描述一组规则,当某个事件满足这些规则,事件源就会触发关联的函数。本文列举函数计算支持的所有触发器。

触发器Event格式 2025-04-16 14:22

函数计算每个类型的触发器,其event内容和结构都会根据触发事件的具体情况有所不同,函数在被调用时可以根据event中的信息来执行相应的业务逻辑处理。

触发器高级功能 2025-04-16 14:22

本文介绍触发器的高级系统功能。 使用说明 本文介绍的高级功能只适用于自定义事件源触发器,包括轻量消息队列(原 MNS)队列触

定时触发器 2025-04-16 14:22

定时触发器会根据您设置的特定时间点或周期性规则自动触发函数执行,为您提供灵活的任务调度能力,适合需要定期执行任务的应用场景。 使用场景 定时触发器的使用场景非常广泛,包括但不限于以下场景:

SLS触发器 2025-04-16 14:22

通过配置日志服务SLS触发器,您可以实现日志服务SLS与函数计算的集成。SLS触发器能够在新日志产生时自动触发函数执行,从而增量消费日志服务Logstore的数据,并完成自定义加工任务。

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1