DataWorks创建和使用后置过滤器函数结构说明是什么?

DataWorks创建和使用后置过滤器函数结构说明是什么?

展开
收起
真的很搞笑 2023-11-06 12:46:38 101 分享 版权
阿里云 AI 助理回答

在阿里云DataWorks中,创建和使用后置过滤器函数(尤其是Aviator函数)时,其结构和使用方式有明确的规范。以下是详细的说明:


1. 后置过滤器函数的作用

后置过滤器函数主要用于对API的返回结果进行二次加工和改造。例如: - 修改返回结果的数据结构。 - 增加或删除返回结果中的某些字段。 - 对返回结果进行格式化处理。


2. 函数输入与输出结构

输入结构

  • 后置过滤器函数的输入是API查询结果的JSON数据。
  • 默认输入参数名称为$0,表示整个输入内容。
  • 输入内容为多层JSON结构(深度为N),即API返回的结果。

输出结构

  • 函数的输出必须为key-value map形式,且仅支持深度为1的key-value map
  • 输出结果将作为最终API的返回值。

3. Aviator函数的基本结构

Aviator函数的代码结构如下:

## - AviatorScript -
## $0: the default name of the input param.
## Expressions must be separated by the semicolon ";".

## Example:
## Input: {"keyA":[1,2],"keyB":"value"}
## Function: $0.keyA[0]=3; $0.keyB="new_value"; return $0;
## Output: {"keyA":[3,2],"keyB":"new_value"}

return $0;
  • $0:默认输入参数,表示API返回的JSON数据。
  • return $0;:返回修改后的JSON数据。

4. 创建后置过滤器函数的步骤

前提条件

  • 必须使用独享数据服务资源组运行Aviator函数。
  • 确保函数已发布,才能被关联至API。

具体步骤

  1. 进入数据服务页面

    • 登录DataWorks控制台,切换至目标地域。
    • 单击左侧导航栏的数据开发与治理 > 数据服务,选择对应工作空间后单击进入数据服务
  2. 创建函数

    • 服务开发页面,鼠标悬停至图标,单击新建函数 > 新建Aviator函数
    • 配置函数名称、描述、目标文件夹等信息。
  3. 编辑函数代码

    • 编辑代码区域,编写Aviator函数逻辑。
    • 示例代码(假设需要修改返回结果中的某个字段):
      ## 修改返回结果中的字段
      $0.newField = "processed_value";
      return $0;
      
  4. 配置服务资源组

    • 在API编辑页面的右侧导航栏中,单击服务资源组
    • 选择独享服务资源组,并设置内存和超时时间(建议超时时间不超过100ms)。
  5. 保存并发布函数

    • 单击工具栏中的保存图标,完成函数创建。
    • 测试函数并发布,确保函数可用。

5. 将函数关联为后置过滤器

  1. 进入API编辑页面

    • 在API编辑页面的右侧导航栏中,单击过滤器
    • 勾选使用后置过滤器,并选择Aviator函数类型
  2. 选择目标函数

    • 在后置过滤器下拉框中选择已发布的Aviator函数。
    • 如果需要多个函数处理,可按顺序添加多个函数,系统会按添加顺序依次执行。
  3. 预览结果

    • 单击API返回结果预览,查看使用后置过滤器后的结果是否符合预期。

6. 注意事项

  • 函数类型一致性:前置和后置过滤器的函数类型需保持一致,即均选择Aviator函数或Python函数。
  • 资源组限制:Aviator函数只能运行在独享数据服务资源组中。
  • 输出限制:后置过滤器的输出结果必须为深度为1的key-value map,否则可能导致API调用失败。

通过以上步骤,您可以成功创建并使用Aviator函数作为后置过滤器,对API的返回结果进行灵活的加工和改造。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

还有其他疑问?
咨询AI助理