图片处理参数
https://help.aliyun.com/document_detail/44705.html?spm=a2c4g.11186623.6.751.24957fd8NOU5Bs
使用SDK处理图片
https://help.aliyun.com/document_detail/93499.html?spm=a2c4g.11186623.6.1430.14dc59dfU7q7vE
EdgeScript语法
https://help.aliyun.com/document_detail/126566.html?spm=a2c4g.11186623.6.717.6b8f4d67g1iNrp
本文为您介绍EdgeScript语法中注释、标识符、数据类型、变量、运算符、语句和函数的使用规则。
注释
以#开头的当前行后续内容,均为注释。
例如:# this is annotation
标识符规则
标识符规则如下:
- 由字母、数字、下划线组成,数字不能开头,区分大小写。
- 变量名(内置 、自定义)和函数名(内置 、自定义)均遵守标识符规则。
数据类型
数据类型规则如下:
-
字符串
字面常量:使用单引号括起来,例如:
'hello, EdgeScript'
。 -
数字
字面常量:十进制数字,例如:10、-99、1.1。
-
布尔值
字面常量:true、false。
-
字典
字面常量如下:
-
[]:空
-
['key1', 'key2', 100]
:
1 -> 'key1'
2 -> 'key2'
3 -> 'key3'
-
['key1' = 'value1', 'key2' = 1000]
'key1' -> 'value1'
'key2' -> 1000
-
变量
变量规则如下:
-
定义
赋值即定义。
-
使用
-
内置和自定义变量,均由变量名进行引用 。
- 引用内置变量:
host
。 - 引用自定义变量:
seckey
。
- 引用内置变量:
-
为强调变量的内置属性,可通过
$
进行引用。
引用内置变量:
$host
。 -
自定义变量的名称不能与内置变量同名。
内置变量,请参见EdgeScript内置变量表。
-
运算符
运算符规则如下:
-
= :赋值运算符
- 例如:
seckey = 'ASDLFJ234dxvf34sDF'
- 例如:
seckeys = ['key1', 'key2']
- 例如:
-
- :负号运算符
例如:
inum = -10
-
对各数据类型的操作,不再另行支持运算符,均由内置函数支持,请参见
条件判断相关
。
- 各数据类型内置函数支持
- 字符串类型内置处理函数。
- 数字类型内置处理函数。
- 字典类型内置处理函数。
- 示例
sval = concat(sval, 'trail')
len(arrvar)
- 各数据类型内置函数支持
语句
语句规则如下:
-
条件判断语句
if condition { ... } if condition1 { if conditon2 { ... } } if condition { ... } else { ... }
-
语句解释
-
condition
可由如下语法元素组成:
- 字面值
- 变量
- 函数调用
-
body部分
- 允许空body。
- 允许多语句:一行一条语句。
-
支持多层嵌套
-
CodingStyle
语法强制要求左大扩号跟随在
if condition
之后,且同行。
-
函数
函数语法和定义说明如下:
-
定义语法
def 函数名(参数列表) { ... }
-
定义说明
-
形参列表
- 允许无参。
- 允许多参:由逗号分隔。
-
函数体部分
- 允许空body。
- 允许多语句:一行一条语句。
- 返回值:支持return语句。
-
CodingStyle
语法强制要求左大扩号跟随在
def
函数名(参数列表)之后,且同行。
-
-
函数调用
无论内置、自定义函数,均通过
函数名()
进行调用。
其他
EdgeScript全文不允许出现任何双引号。
在线图片处理预览
https://gosspublic.alicdn.com/image/index.html?spm=a2c4g.11186623.2.9.658e3b4akdjJTL
边缘处理后台
https://cdnnext.console.aliyun.com/domain/detail/pic.xxx.com/edgescript
使用边缘计算处理图片
图片会301重定向至增加处理参数的新地址
m1 = not(match_re($request_uri, '.+q_90$')) m2 = match_re($uri, '.+(.JPEG|.jpeg|.JPG|.jpg|.PNG|.png)$') if and(m1, m2) { rewrite(concat($uri, '?x-oss-process=image/auto-orient,1/resize,m_lfit,w_1000/quality,q_90'), 'enhance_redirect', 301) }