使用表达式语言 | 学习笔记

简介: 快速学习使用表达式语言

开发者学堂课程【NiFi 知识精讲与项目实战(第二阶段):使用表达式语言】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/706/detail/12538


使用表达式语言

内容介绍:

1.为什么需要 NiFi 表达式

2.表达式语言介绍

3.NiFi 表达式的结构

4.使用表达式语言修改内容

5.查看替换内容


一、为什么需要 NiFi 表达式

nifi 表达式语言阶段,nifi 表达式,它的主要作用,就是在 file 文本内容,提取到的处理器属性当中,或者是添加一些flow file 属性的时候,会非常的灵活。


二、表达式语言介绍

表达式语言有什么作用,可以看见当从 flow file 的内容当中来提取属性的时候,并且可以去新增或更新一些自定义属性的时候,必须要有一种方法来获取它的值,这个时候就可以使用这个 NiFi 表达式,更新的自定义属性,哪一些属性它支持表达式语言,之前讲解了通过这个问号的图标,就可以发现,比如这个截图当中问号,鼠标放在问号以后,如果提示的是 expressionlanguage school 如果是支持的话,就可以在这个属性当中去使用的 nifi 表达式,如果提示是这个 note support,这个时候就没有办法在这个属性当中使用 NiFi 表达式,去使用也不支持,读取到的只能是一个字符串。


三、NiFi 表达式的结构

NiFi 表达式它的结构是用这个 Dollar 大括号这样的形式来进行包含的,比如这个 file name,就可以通过 Dollar 大括号加上 file name。这样的方式,就可以获取到这个付费的,它的一个文件名,

还有一些稍微复杂的案例,比如说 file name.,通过冒号来调用它的一些函数,这个函数也是可以进行嵌套调用的,比如 file name equals,这就可以判断是否相等,然后,入参也是通过小括号儿来进行传递。

通常如果需要将两个不同属性的值进行比较的时候,就可以通过 equal 方法来进行,那在 equal 的方法当中,也可以把字符串,变更成为另外的 nifi 表达式,也就是表达式当中还可以再嵌套表达式。通过这样的用法,就可以很灵活的来进行一些操作。另外,需要注意表达式语言会忽略掉的空格儿,比如这里面第一个用法当中,在大括号后面加了一个空格,在冒号后面也加了一个空格,这样的方式,也可以正常被解析,它和这样的写法意思是一样的,但是要注意一点,如果在的变量名当中加上空格的话,会识别错误,比如这样的一个用法,在的 file name 这个变量当中加了一个空格,这个时候就会解析为这是两个不同的变量,而不是单独的一个变量,所以一定要注意,单独这个变量名中间是不能加空格的。


四、使用表达式语言修改内容

如何去使用的表达式语言来修改的流程,实际的操作应该怎么操作。在之前所运行的这个流程当中,replace text 直接把流失数据文件直接替换成了 ABCD 这样的一个字符串,就可以通过表达式语言大括号。Dollar 服务,然后写上 H的名称,这样的方式来获取值,并且把这个值赋到的 replace text 这个属性当中,然后由此来动态的获取到想要变更的值,这一项的话,就会把的实际数据,变更成这样的一个结果。


五、查看替换内容

image.png

打开的主面板,选中的 replace X,点击编辑可以看到通过的 NIFI 表达式来获取到属性的值,通过 Dollar 大括号,CSV.1来获取一的数据,然后再通过二获取二的数据,通过三获取三的数据,通过这样的方式来获取,然后进行重新的变更,原始的数据已经看过,接下来运行、操作,数据已经运行完了停止,停止完以后,查看这个队列当中的数据,如下图是属性文件,这是这四个变量。

image.png

然后点击可以看到,这里面获取到的值分别是 ABCD,已经成功的把 flow field content 的内容改变了。

image.png

相关文章
|
9月前
|
Java 开发者 Spring
什么是切点表达式语言?
【4月更文挑战第30天】什么是切点表达式语言?
57 0
|
9月前
|
机器学习/深度学习 算法 前端开发
深入浅出剖析EL表达式和JSTL
深入浅出剖析EL表达式和JSTL
62 0
深入浅出剖析EL表达式和JSTL
|
9月前
|
SQL Arthas Java
OGNL表达式学习笔记(一) 基本特性与基本概念
OGNL表达式学习笔记(一) 基本特性与基本概念
|
Java Spring
Spring中的表达式语言SpEL详解
Spring中的表达式语言SpEL详解
244 0
|
设计模式 Java
Ognl 语法基础教程
本文将力求用最简单的语言和实例,介绍一下 OGNL 的语法规则,文章主要内容参考自官方文档commons.apache.org/proper/comm… 本篇主要是语法介绍篇,实战放在一下篇 因为本篇文章将是后 quick-fix 2.0 版本支持 ognl 的前导篇,先提前放出
446 0
|
XML 安全 Java
SpEL(Spring表达语言)表达式详述
SpEL全称是Spring Expression Language是一种强大的表达式语言。在Spring产品组合中,它是表达式计算的基础。它支持在运行时查询和操作对象图,它可以与基于XML和基于注解的Spring配置还有bean定义一起使用。由于它能够在运行时动态分配值,因此可以为我们节省大量Java代码。
135 0
|
前端开发 Java
thymeleaf 入门篇(一),简单语法介绍
thymeleaf 入门篇,基本语法介绍
215 0
|
缓存 自然语言处理 安全
Spring 核心特性之表达式(SpEL)
前言 Spring Framework 主要有 9 个核心特性,包括 IoC 容器、事件、资源、国际化、校验、数据绑定、类型转换、表达式以及 AOP。可以说,表达式是最没有存在感的核心特性了,用户直接使用的场景实在太少,这也是我一直没有提及它的原因。不过项目中确实有使用到它的地方,恰好最近整理 Spring 核心特性,为了知识结构完整性姑且总结一篇。
346 0
|
前端开发 Java 数据安全/隐私保护
OGNL 在项目中的运用 | 学习笔记
快速学习 OGNL 在项目中的运用,介绍了 OGNL 在项目中的运用系统机制, 以及在实际应用过程中如何使用。
|
Java
框架开发之Java注解的妙用(下)
框架开发之Java注解的妙用(下)
127 0
框架开发之Java注解的妙用(下)

热门文章

最新文章